0
0
mirror of https://github.com/alex289/CleanArchitecture.git synced 2025-06-30 02:31:08 +00:00

feat: Use built-in container port constants

This commit is contained in:
alex289 2024-09-11 11:44:12 +02:00
parent 99ee108b04
commit c8cef3e057
No known key found for this signature in database
GPG Key ID: 573F77CD2D87F863
3 changed files with 7 additions and 18 deletions

View File

@ -1,8 +0,0 @@
namespace CleanArchitecture.IntegrationTests.Constants;
public static class Configuration
{
public const int RedisPort = 6379;
public const int MsSqlPort = 1433;
public const int RabbitMqPort = 5672;
}

View File

@ -1,6 +1,5 @@
using System;
using System.Threading.Tasks;
using CleanArchitecture.IntegrationTests.Constants;
using Respawn;
using Testcontainers.MsSql;
using Testcontainers.RabbitMq;
@ -14,17 +13,17 @@ internal class GlobalSetupFixture
private static Respawner? s_respawner;
public static MsSqlContainer DatabaseContainer { get; } = new MsSqlBuilder()
.WithPortBinding(Configuration.MsSqlPort, assignRandomHostPort: true)
.WithPortBinding(MsSqlBuilder.MsSqlPort, assignRandomHostPort: true)
.Build();
public static RedisContainer RedisContainer { get; } = new RedisBuilder()
.WithPortBinding(Configuration.RedisPort, assignRandomHostPort: true)
.WithPortBinding(RedisBuilder.RedisPort, assignRandomHostPort: true)
.Build();
public static RabbitMqContainer RabbitContainer { get; } = new RabbitMqBuilder()
.WithUsername("guest")
.WithPassword("guest")
.WithPortBinding(Configuration.RabbitMqPort, assignRandomHostPort: true)
.WithPortBinding(RabbitMqBuilder.RabbitMqPort, assignRandomHostPort: true)
.Build();
public static string DatabaseConnectionString { get; private set; } = string.Empty;

View File

@ -1,12 +1,10 @@
using System;
using System.Collections.Generic;
using CleanArchitecture.Domain.Rabbitmq;
using CleanArchitecture.IntegrationTests.Constants;
using CleanArchitecture.IntegrationTests.Infrastructure.Auth;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Testcontainers.RabbitMq;
using Testcontainers.Redis;
namespace CleanArchitecture.IntegrationTests.Infrastructure;
@ -31,8 +29,8 @@ public sealed class CleanArchitectureWebApplicationFactory : WebApplicationFacto
builder.UseEnvironment("Integration");
base.ConfigureWebHost(builder);
var redisPort = GlobalSetupFixture.RedisContainer.GetMappedPublicPort(Configuration.RedisPort);
var rabbitPort = GlobalSetupFixture.RabbitContainer.GetMappedPublicPort(Configuration.RabbitMqPort);
var redisPort = GlobalSetupFixture.RedisContainer.GetMappedPublicPort(RedisBuilder.RedisPort);
var rabbitPort = GlobalSetupFixture.RabbitContainer.GetMappedPublicPort(RabbitMqBuilder.RabbitMqPort);
Environment.SetEnvironmentVariable("ConnectionStrings:DefaultConnection", GlobalSetupFixture.DatabaseConnectionString);
Environment.SetEnvironmentVariable("RedisHostName", $"localhost:{redisPort}");