test(db): drop a leftover test database before recreating it
A server handed in through JELLYFIN_TEST_POSTGRES outlives the run, so a second run finds the databases the first one created. Also name the failures in Jellyfin.Database.Tests.PostgreSQL the CI step steps around.
This commit is contained in:
+2
-1
@@ -46,7 +46,8 @@ steps:
|
||||
# the ReadWriteOnce workspace volume into service pods and schedules them on another node.
|
||||
# Its data directory lives on the step's ephemeral storage, not on the workspace volume.
|
||||
# Scoped to Jellyfin.Server.Tests: the three classes in Jellyfin.Database.Tests.PostgreSQL still
|
||||
# start their own container, and two of their tests fail on main for unrelated reasons.
|
||||
# start their own container, and PostgreSqlProviderTests already fails on main - on an EF 10
|
||||
# scalar query and on its own data - which a third test in the class then inherits.
|
||||
- name: postgres-migration-chain
|
||||
image: mcr.microsoft.com/dotnet/sdk:10.0
|
||||
depends_on:
|
||||
|
||||
@@ -65,6 +65,12 @@ public sealed class PostgreSqlTestServer : IAsyncDisposable
|
||||
public async Task<string> CreateDatabaseAsync(string name, CancellationToken cancellationToken)
|
||||
{
|
||||
await using var adminDataSource = new NpgsqlDataSourceBuilder(ConnectionString).Build();
|
||||
|
||||
// A server handed in through the environment outlives the run, so a second run finds the
|
||||
// databases the first one left behind.
|
||||
await using var drop = adminDataSource.CreateCommand($"DROP DATABASE IF EXISTS {name}");
|
||||
await drop.ExecuteNonQueryAsync(cancellationToken).ConfigureAwait(false);
|
||||
|
||||
await using var command = adminDataSource.CreateCommand($"CREATE DATABASE {name}");
|
||||
await command.ExecuteNonQueryAsync(cancellationToken).ConfigureAwait(false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user