Improved performance of integration tests.
Some checks failed
ci / build-test (push) Failing after 8m39s
Some checks failed
ci / build-test (push) Failing after 8m39s
This commit is contained in:
42
JSMR.Tests/Fixtures/MariaDbContainerFixture.cs
Normal file
42
JSMR.Tests/Fixtures/MariaDbContainerFixture.cs
Normal 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();
|
||||
}
|
||||
Reference in New Issue
Block a user