public async Task TestSetupDatabaseAsyncOnlyOneUpdateOfCosmosOk() { //SETUP var booksOption = this.CreateUniqueClassOptions <BookDbContext>(); var orderOption = this.CreateUniqueClassOptions <OrderDbContext>(); var services = new ServiceCollection(); services.AddSingleton(booksOption); services.AddScoped <BookDbContext>(); services.AddSingleton(orderOption); services.AddScoped <OrderDbContext>(); services.AddSingleton <IWebHostEnvironment>(new MyWebHostEnvironment { WebRootPath = TestData.GetTestDataDir() }); services.AddLogging(); var serviceProvider = services.BuildServiceProvider(); var host = new MyHost { Services = serviceProvider }; using (var bookContext = new BookDbContext(booksOption)) { bookContext.Database.EnsureDeleted(); } //ATTEMPT await host.SetupDatabaseAsync(); //VERIFY using (var bookContext = new BookDbContext(booksOption)) { bookContext.Books.Count().ShouldEqual(6); } }
public async Task TestSetupDatabaseAsyncOnlyOneUpdateOfCosmosOk() { //SETUP var booksOption = this.CreateUniqueClassOptions <BookDbContext>(); var orderOption = this.CreateUniqueClassOptions <OrderDbContext>(); var cosmosOption = this.GetCosmosDbOptions <CosmosDbContext>(); var services = new ServiceCollection(); services.RegisterGenericEventRunner(Assembly.GetAssembly(typeof(BookChangeHandlerAsync))); services.AddTransient <IBookToCosmosBookService, BookToCosmosBookService>(); services.AddSingleton(booksOption); services.AddScoped <BookDbContext>(); services.AddSingleton(orderOption); services.AddScoped <OrderDbContext>(); services.AddSingleton(cosmosOption); services.AddScoped <CosmosDbContext>(); services.AddSingleton <IWebHostEnvironment>(new MyWebHostEnvironment { WebRootPath = TestData.GetTestDataDir() }); services.AddLogging(); var serviceProvider = services.BuildServiceProvider(); var host = new MyHost { Services = serviceProvider }; using (var bookContext = new BookDbContext(booksOption)) { bookContext.Database.EnsureDeleted(); } using (var cosmosContext = new CosmosDbContext(cosmosOption)) { await cosmosContext.Database.EnsureDeletedAsync(); } //ATTEMPT await host.SetupDatabaseAsync(); //VERIFY using (var bookContext = new BookDbContext(booksOption)) { bookContext.Books.Count().ShouldEqual(6); } }