Пример #1
0
        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();
        }
Пример #2
0
        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();
                }
            }
        }
Пример #4
0
        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();
        }