private void SeedTestData(ServiceProvider sp)
        {
            // Create a scope to obtain a reference to the database
            // context (AuditContext).
            using (var scope = sp.CreateScope())
            {
                var scopedServices = scope.ServiceProvider;

                var options             = scopedServices.GetRequiredService <DbContextOptions <AuditContext> >();
                var httpContextAccessor = scopedServices.GetRequiredService <IHttpContextAccessor>();

                var db = new AuditContextFactory(httpContextAccessor, options);

                var logger = scopedServices
                             .GetRequiredService <ILogger <CustomWebApplicationFactory <TStartup> > >();

                // Ensure the database is created.
                db.AuditContext.Database.EnsureCreated();

                try
                {
                    DbInitializer.Initialize(db.AuditContext);
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, "An error occurred initializing the " +
                                    $"database with test messages. Error: {ex.Message}");
                }
            }
        }
        public async Task Teardown()
        {
            var contextFactory = new AuditContextFactory();

            await using var context = contextFactory.CreateDbContext(DbContextOptionsBuilder);
            await context.Database.EnsureDeletedAsync();
        }
        public async Task SetUp()
        {
            _contextFactory         = new AuditContextFactory();
            await using var context = _contextFactory.CreateDbContext(DbContextOptionsBuilder);
            await context.Database.MigrateAsync();

            await InputQueueSendEndpoint.Send(new A());
        }
예제 #4
0
        public async Task Teardown()
        {
            await _harness.Stop();

            var contextFactory = new AuditContextFactory();

            await using (var context = contextFactory.CreateDbContext(DbContextOptionsBuilder))
            {
                context.Database.EnsureDeleted();
            }
        }
예제 #5
0
        public async Task SetUp()
        {
            var contextFactory = new AuditContextFactory();

            await using (var context = contextFactory.CreateDbContext(DbContextOptionsBuilder))
            {
                await context.Database.MigrateAsync();
            }

            _store = new EntityFrameworkAuditStore(DbContextOptionsBuilder.Options, "EfCoreAudit");

            _harness = new InMemoryTestHarness();
            _harness.OnConnectObservers += bus =>
            {
                bus.ConnectSendAuditObservers(_store);
                bus.ConnectConsumeAuditObserver(_store);
            };
            _harness.Consumer <TestConsumer>();

            await _harness.Start();

            await _harness.InputQueueSendEndpoint.Send(new A());
        }