diff --git a/CleanArchitecture.Api/CleanArchitecture.Api.csproj b/CleanArchitecture.Api/CleanArchitecture.Api.csproj index b08148f..48f3a62 100644 --- a/CleanArchitecture.Api/CleanArchitecture.Api.csproj +++ b/CleanArchitecture.Api/CleanArchitecture.Api.csproj @@ -15,8 +15,8 @@ - - + + @@ -26,8 +26,8 @@ - - + + diff --git a/CleanArchitecture.AppHost/CleanArchitecture.AppHost.csproj b/CleanArchitecture.AppHost/CleanArchitecture.AppHost.csproj index a347fcf..1acf811 100644 --- a/CleanArchitecture.AppHost/CleanArchitecture.AppHost.csproj +++ b/CleanArchitecture.AppHost/CleanArchitecture.AppHost.csproj @@ -10,9 +10,9 @@ - - - + + + diff --git a/CleanArchitecture.Application.Tests/CleanArchitecture.Application.Tests.csproj b/CleanArchitecture.Application.Tests/CleanArchitecture.Application.Tests.csproj index ebd9ddb..4e5e330 100644 --- a/CleanArchitecture.Application.Tests/CleanArchitecture.Application.Tests.csproj +++ b/CleanArchitecture.Application.Tests/CleanArchitecture.Application.Tests.csproj @@ -9,12 +9,12 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/CleanArchitecture.Domain.Tests/CleanArchitecture.Domain.Tests.csproj b/CleanArchitecture.Domain.Tests/CleanArchitecture.Domain.Tests.csproj index 86ca183..3698f31 100644 --- a/CleanArchitecture.Domain.Tests/CleanArchitecture.Domain.Tests.csproj +++ b/CleanArchitecture.Domain.Tests/CleanArchitecture.Domain.Tests.csproj @@ -10,7 +10,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/CleanArchitecture.Domain/CleanArchitecture.Domain.csproj b/CleanArchitecture.Domain/CleanArchitecture.Domain.csproj index 1c90f1d..ac7de63 100644 --- a/CleanArchitecture.Domain/CleanArchitecture.Domain.csproj +++ b/CleanArchitecture.Domain/CleanArchitecture.Domain.csproj @@ -8,10 +8,10 @@ - + - + diff --git a/CleanArchitecture.Infrastructure.Tests/CleanArchitecture.Infrastructure.Tests.csproj b/CleanArchitecture.Infrastructure.Tests/CleanArchitecture.Infrastructure.Tests.csproj index fac253f..ded8dee 100644 --- a/CleanArchitecture.Infrastructure.Tests/CleanArchitecture.Infrastructure.Tests.csproj +++ b/CleanArchitecture.Infrastructure.Tests/CleanArchitecture.Infrastructure.Tests.csproj @@ -9,7 +9,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/CleanArchitecture.IntegrationTests/CleanArchitecture.IntegrationTests.csproj b/CleanArchitecture.IntegrationTests/CleanArchitecture.IntegrationTests.csproj index 5c7e97f..6f9788c 100644 --- a/CleanArchitecture.IntegrationTests/CleanArchitecture.IntegrationTests.csproj +++ b/CleanArchitecture.IntegrationTests/CleanArchitecture.IntegrationTests.csproj @@ -9,7 +9,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -22,12 +22,12 @@ runtime; build; native; contentfiles; analyzers; buildtransitive - + - - - - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/CleanArchitecture.IntegrationTests/GlobalSetupFixture.cs b/CleanArchitecture.IntegrationTests/GlobalSetupFixture.cs index 3c5bc34..9977a1a 100644 --- a/CleanArchitecture.IntegrationTests/GlobalSetupFixture.cs +++ b/CleanArchitecture.IntegrationTests/GlobalSetupFixture.cs @@ -1,5 +1,6 @@ using System; using System.Threading.Tasks; +using Microsoft.Data.SqlClient; using Respawn; using Testcontainers.MsSql; using Testcontainers.RabbitMq; @@ -52,27 +53,32 @@ public async Task TearDown() public static async Task RespawnDatabaseAsync() { - if (s_respawner is null) + await using var connection = new SqlConnection(DatabaseConnectionString); + + try { - try + await connection.OpenAsync(); + + if (s_respawner is null) { s_respawner = await Respawner.CreateAsync( - DatabaseConnectionString, + connection, new RespawnerOptions { TablesToIgnore = ["__EFMigrationsHistory"] }); } - catch (Exception ex) - { - // Creation of the respawner can fail if the database has not been created yet - await TestContext.Out.WriteLineAsync($"Failed to create respawner: {ex.Message}"); - } - } - if (s_respawner is not null) + await s_respawner.ResetAsync(connection); + } + catch (Exception ex) + { + // Creation of the respawner can fail if the database has not been created yet + await TestContext.Out.WriteLineAsync($"Failed to respawn database: {ex.Message}"); + } + finally { - await s_respawner.ResetAsync(DatabaseConnectionString); + await connection.CloseAsync(); } } } \ No newline at end of file diff --git a/CleanArchitecture.Proto/CleanArchitecture.Proto.csproj b/CleanArchitecture.Proto/CleanArchitecture.Proto.csproj index bd36021..c33b78a 100644 --- a/CleanArchitecture.Proto/CleanArchitecture.Proto.csproj +++ b/CleanArchitecture.Proto/CleanArchitecture.Proto.csproj @@ -13,8 +13,8 @@ - - + + diff --git a/CleanArchitecture.ServiceDefaults/CleanArchitecture.ServiceDefaults.csproj b/CleanArchitecture.ServiceDefaults/CleanArchitecture.ServiceDefaults.csproj index 55f4e2f..4e9e138 100644 --- a/CleanArchitecture.ServiceDefaults/CleanArchitecture.ServiceDefaults.csproj +++ b/CleanArchitecture.ServiceDefaults/CleanArchitecture.ServiceDefaults.csproj @@ -12,13 +12,13 @@ - - - + + + - - + + diff --git a/CleanArchitecture.Shared/CleanArchitecture.Shared.csproj b/CleanArchitecture.Shared/CleanArchitecture.Shared.csproj index 0c2e7a5..1096f02 100644 --- a/CleanArchitecture.Shared/CleanArchitecture.Shared.csproj +++ b/CleanArchitecture.Shared/CleanArchitecture.Shared.csproj @@ -7,7 +7,7 @@ - + diff --git a/CleanArchitecture.gRPC.Tests/CleanArchitecture.gRPC.Tests.csproj b/CleanArchitecture.gRPC.Tests/CleanArchitecture.gRPC.Tests.csproj index 6aa2ebc..4de5c40 100644 --- a/CleanArchitecture.gRPC.Tests/CleanArchitecture.gRPC.Tests.csproj +++ b/CleanArchitecture.gRPC.Tests/CleanArchitecture.gRPC.Tests.csproj @@ -8,12 +8,12 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - +