public DatabaseFixture() { var connectionString = "User ID=postgres;Password=4310;Server=localhost;Database=cSharpTest;"; testDatabase = new TestDatabaseBuilder().WithConnectionString(connectionString).Build(); testDatabase.Create(); //testDatabase.RunScripts("./DatabaseScripts"); var builder = new DbContextOptionsBuilder <cSharpContext>(); builder.UseNpgsql(testDatabase.ConnectionString); DbContext = new cSharpContext(builder.Options); DbContext.Database.EnsureCreated(); }
public static IntegrationContext CreateAndGetContext() { var connectionString = "host=localhost;port=5432;Username=postgres;Password=048365;Database=Test"; testDatabase = new TestDatabaseBuilder().WithConnectionString(connectionString).Build(); testDatabase.Create(); var builder = new DbContextOptionsBuilder <IntegrationContext>(); builder.UseNpgsql(testDatabase.ConnectionString); var context = new IntegrationContext(builder.Options); context.Database.EnsureCreated(); return(context); }
public async Task InitializeAsync() { var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.Test.json") .Build(); // Remember to create integration_test_user in PostgreSQL. User need to be able to create DB // Get into docker container: docker exec -it {ContainerID} psql -U {adminUser} postgres // e.g: CREATE USER yourUsername WITH PASSWORD 'yourPassword' CREATEDB; var connectionString = configuration["ConnectionStrings:MyPostgreSQLConnection"]; tempDatabase = new TestDatabaseBuilder() .WithConnectionString(connectionString) .Build(); tempDatabase.Create(); if (tempDatabase != null) { configuration["ConnectionStrings:MyPostgreSQLConnection"] = tempDatabase.ConnectionString.ToString(); } Host = await new HostBuilder() .ConfigureWebHost(webBuilder => { webBuilder .UseEnvironment(Environments.Staging) .UseStartup <Startup>() .UseTestServer() .UseConfiguration(configuration); }) .StartAsync(); using (var scope = Host.Services.CreateScope()) { var services = scope.ServiceProvider; var context = services.GetService <ApplicationDbContext>(); if (tempDatabase != null) { context.Database.EnsureCreated(); } } }
public DatabaseFixture() { var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.Test.json") .Build(); // Remember to create integration_test_user in PostgreSQL. User need to be able to create DB // e.g: CREATE USER yourUsername WITH PASSWORD 'yourPassword' CREATEDB; var connectionString = configuration["ConnectionStrings:MyPostgreSQLConnection"]; tempDatabase = new TestDatabaseBuilder() .WithConnectionString(connectionString) .Build(); tempDatabase.Create(); var builder = new DbContextOptionsBuilder <ApplicationDbContext>(); builder.UseNpgsql(tempDatabase.ConnectionString); DbContext = new ApplicationDbContext(builder.Options); DbContext.Database.EnsureCreated(); }