refactor(tests): Api.Tests apunta a SIGCM2_Test_Api via TestConnectionStrings

Todos los archivos de Api.Tests reemplazan la connection string hardcodeada
por TestConnectionStrings.ApiTestDb. Cada proyecto de tests ahora tiene su
propia base de datos aislada, eliminando la contención entre Application.Tests
y Api.Tests que causaba flakiness.
This commit is contained in:
2026-04-18 21:44:40 -03:00
parent e0b9cba948
commit e5b6c06f64
19 changed files with 19 additions and 38 deletions

View File

@@ -17,8 +17,7 @@ namespace SIGCM2.Api.Tests.Admin;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class FiscalControllerTests : IAsyncLifetime public sealed class FiscalControllerTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private const string IvaEndpoint = "/api/v1/admin/fiscal/iva"; private const string IvaEndpoint = "/api/v1/admin/fiscal/iva";
private const string IibbEndpoint = "/api/v1/admin/fiscal/iibb"; private const string IibbEndpoint = "/api/v1/admin/fiscal/iibb";

View File

@@ -15,8 +15,7 @@ namespace SIGCM2.Api.Tests.Admin;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class MediosControllerTests : IAsyncLifetime public sealed class MediosControllerTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private const string Endpoint = "/api/v1/admin/medios"; private const string Endpoint = "/api/v1/admin/medios";
private const string AdminUsername = "admin"; private const string AdminUsername = "admin";

View File

@@ -16,8 +16,7 @@ namespace SIGCM2.Api.Tests.Admin;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class PuntosDeVentaControllerTests : IAsyncLifetime public sealed class PuntosDeVentaControllerTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private const string Endpoint = "/api/v1/admin/puntos-de-venta"; private const string Endpoint = "/api/v1/admin/puntos-de-venta";
private const string MediosEndpoint = "/api/v1/admin/medios"; private const string MediosEndpoint = "/api/v1/admin/medios";

View File

@@ -15,8 +15,7 @@ namespace SIGCM2.Api.Tests.Admin;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class SeccionesControllerTests : IAsyncLifetime public sealed class SeccionesControllerTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private const string Endpoint = "/api/v1/admin/secciones"; private const string Endpoint = "/api/v1/admin/secciones";
private const string MediosEndpoint = "/api/v1/admin/medios"; private const string MediosEndpoint = "/api/v1/admin/medios";

View File

@@ -21,8 +21,7 @@ namespace SIGCM2.Api.Tests.Admin;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class V014MigrationTests : IClassFixture<SIGCM2.TestSupport.TestWebAppFactory> public sealed class V014MigrationTests : IClassFixture<SIGCM2.TestSupport.TestWebAppFactory>
{ {
private const string ConnectionString = private const string ConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
public V014MigrationTests(SIGCM2.TestSupport.TestWebAppFactory _) public V014MigrationTests(SIGCM2.TestSupport.TestWebAppFactory _)
{ {

View File

@@ -21,8 +21,7 @@ namespace SIGCM2.Api.Tests.Admin;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class V015MigrationTests : IClassFixture<SIGCM2.TestSupport.TestWebAppFactory> public sealed class V015MigrationTests : IClassFixture<SIGCM2.TestSupport.TestWebAppFactory>
{ {
private const string ConnectionString = private const string ConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
public V015MigrationTests(SIGCM2.TestSupport.TestWebAppFactory _) public V015MigrationTests(SIGCM2.TestSupport.TestWebAppFactory _)
{ {

View File

@@ -18,8 +18,7 @@ namespace SIGCM2.Api.Tests.Audit;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class AuditControllerTests : IClassFixture<TestWebAppFactory> public sealed class AuditControllerTests : IClassFixture<TestWebAppFactory>
{ {
private const string ConnectionString = private const string ConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private readonly TestWebAppFactory _factory; private readonly TestWebAppFactory _factory;

View File

@@ -12,8 +12,7 @@ namespace SIGCM2.Api.Tests.Audit;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class TransactionScopeSpikeTests public sealed class TransactionScopeSpikeTests
{ {
private const string ConnectionString = private const string ConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
[Fact] [Fact]
public async Task TransactionScope_DoesNotEscalateToMSDTC_WithSingleConnectionString() public async Task TransactionScope_DoesNotEscalateToMSDTC_WithSingleConnectionString()

View File

@@ -13,8 +13,7 @@ namespace SIGCM2.Api.Tests.Audit;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class V010MigrationTests : IClassFixture<SIGCM2.TestSupport.TestWebAppFactory> public sealed class V010MigrationTests : IClassFixture<SIGCM2.TestSupport.TestWebAppFactory>
{ {
private const string ConnectionString = private const string ConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
public V010MigrationTests(SIGCM2.TestSupport.TestWebAppFactory _) public V010MigrationTests(SIGCM2.TestSupport.TestWebAppFactory _)
{ {

View File

@@ -15,8 +15,7 @@ namespace SIGCM2.Api.Tests.Permisos;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class PermisosEndpointTests : IAsyncLifetime public sealed class PermisosEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private const string AdminUsername = "admin"; private const string AdminUsername = "admin";
private const string AdminPassword = "@Diego550@"; private const string AdminPassword = "@Diego550@";

View File

@@ -14,8 +14,7 @@ namespace SIGCM2.Api.Tests.Roles;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class RolesEndpointTests : IAsyncLifetime public sealed class RolesEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private const string Endpoint = "/api/v1/roles"; private const string Endpoint = "/api/v1/roles";
private const string AdminUsername = "admin"; private const string AdminUsername = "admin";

View File

@@ -14,8 +14,7 @@ namespace SIGCM2.Api.Tests.Usuarios;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class ChangeMyPasswordEndpointTests : IAsyncLifetime public sealed class ChangeMyPasswordEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
// This hash corresponds to "@Diego550@" // This hash corresponds to "@Diego550@"
private const string DefaultHash = "$2a$12$rmq6tlSAQ8WXhR2CwLCSeuwCJKz/.8Eab95UQCUNfwe4dokeOqMcW"; private const string DefaultHash = "$2a$12$rmq6tlSAQ8WXhR2CwLCSeuwCJKz/.8Eab95UQCUNfwe4dokeOqMcW";

View File

@@ -17,8 +17,7 @@ namespace SIGCM2.Api.Tests.Usuarios;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class CreateUsuarioEndpointTests : IAsyncLifetime public sealed class CreateUsuarioEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private const string Endpoint = "/api/v1/users"; private const string Endpoint = "/api/v1/users";
private const string AdminUsername = "admin"; private const string AdminUsername = "admin";

View File

@@ -14,8 +14,7 @@ namespace SIGCM2.Api.Tests.Usuarios;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class DeactivateReactivateEndpointTests : IAsyncLifetime public sealed class DeactivateReactivateEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private readonly HttpClient _client; private readonly HttpClient _client;
private readonly SqlTestFixture _db; private readonly SqlTestFixture _db;

View File

@@ -14,8 +14,7 @@ namespace SIGCM2.Api.Tests.Usuarios;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class GetUsuarioByIdEndpointTests : IAsyncLifetime public sealed class GetUsuarioByIdEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private readonly HttpClient _client; private readonly HttpClient _client;
private readonly SqlTestFixture _db; private readonly SqlTestFixture _db;

View File

@@ -14,8 +14,7 @@ namespace SIGCM2.Api.Tests.Usuarios;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class ListUsuariosEndpointTests : IAsyncLifetime public sealed class ListUsuariosEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private readonly HttpClient _client; private readonly HttpClient _client;
private readonly SqlTestFixture _db; private readonly SqlTestFixture _db;

View File

@@ -14,8 +14,7 @@ namespace SIGCM2.Api.Tests.Usuarios;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class ResetPasswordEndpointTests : IAsyncLifetime public sealed class ResetPasswordEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private readonly HttpClient _client; private readonly HttpClient _client;
private readonly SqlTestFixture _db; private readonly SqlTestFixture _db;

View File

@@ -14,8 +14,7 @@ namespace SIGCM2.Api.Tests.Usuarios;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class UpdateUsuarioEndpointTests : IAsyncLifetime public sealed class UpdateUsuarioEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private readonly HttpClient _client; private readonly HttpClient _client;
private readonly SqlTestFixture _db; private readonly SqlTestFixture _db;

View File

@@ -15,8 +15,7 @@ namespace SIGCM2.Api.Tests.Usuarios;
[Collection("ApiIntegration")] [Collection("ApiIntegration")]
public sealed class UsuarioPermisosEndpointTests : IAsyncLifetime public sealed class UsuarioPermisosEndpointTests : IAsyncLifetime
{ {
private const string TestConnectionString = private const string TestConnectionString = TestConnectionStrings.ApiTestDb;
"Server=TECNICA3;Database=SIGCM2_Test;User Id=desarrollo;Password=desarrollo2026;TrustServerCertificate=True;";
private const string AdminUsername = "admin"; private const string AdminUsername = "admin";
private const string AdminPassword = "@Diego550@"; private const string AdminPassword = "@Diego550@";