Improved performance of integration tests.
Some checks failed
ci / build-test (push) Failing after 8m39s

This commit is contained in:
2025-11-02 13:56:34 -05:00
parent b06eadef1d
commit abd5a81e3e
10 changed files with 262 additions and 130 deletions

View File

@@ -0,0 +1,42 @@
using DotNet.Testcontainers.Builders;
using JSMR.Tests.Fixtures;
using JSMR.Tests.Ingestion;
using Testcontainers.MariaDb;
[assembly: AssemblyFixture(typeof(MariaDbContainerFixture))]
namespace JSMR.Tests.Fixtures;
public sealed class MariaDbContainerFixture : IAsyncLifetime
{
const int MajorVersion = 10;
const int MinorVersion = 11;
const int Build = 6;
private MariaDbContainer _container = default!;
public string RootConnectionString { get; private set; } = default!;
public string TemplateDbName { get; } = "jsmr_template";
public async ValueTask InitializeAsync()
{
_container = new MariaDbBuilder()
.WithImage($"mariadb:{MajorVersion}.{MinorVersion}.{Build}")
.WithEnvironment("MARIADB_ROOT_PASSWORD", "rootpw")
.WithUsername("root")
.WithPassword("rootpw")
.WithWaitStrategy(Wait.ForUnixContainer().UntilInternalTcpPortIsAvailable(3306))
.Build();
await _container.StartAsync();
RootConnectionString = _container.GetConnectionString();
// Build the template ONCE with EF + your existing seed
await MariaDbClone.CreateTemplateAsync(
RootConnectionString,
TemplateDbName);
}
public async ValueTask DisposeAsync() => await _container.DisposeAsync();
}