using System; using System.Collections.Generic; using System.Threading.Tasks; using AgileConfig.Server.ServiceTests.sqlite; using Microsoft.VisualStudio.TestTools.UnitTesting; using Testcontainers.PostgreSql; namespace AgileConfig.Server.ServiceTests.PostgreSQL; public class AppServiceTests_pg : AppServiceTests { private static readonly PostgreSqlContainer _container = new PostgreSqlBuilder().WithImage("postgres:15.1").Build(); [ClassInitialize] public static async Task ClassInit(TestContext testContext) { await _container.StartAsync(); Console.WriteLine("PostgreSqlContainer started"); } [ClassCleanup] public static async Task ClassCleanup() { await _container.DisposeAsync(); Console.WriteLine("PostgreSqlContainer dispose"); } public override Task> GetConfigurationData() { var connstr = _container.GetConnectionString(); Console.WriteLine($"PostgreSqlContainer connstr: {connstr}"); var dict = new Dictionary(); dict["db:provider"] = "pg"; dict["db:conn"] = connstr; return Task.FromResult(dict); } }