public DatabaseFixture() { var cosmonautClient = new CosmonautClient(EmulatorUri, EmulatorKey); var database = cosmonautClient.GetDatabaseAsync(DatabaseId).GetAwaiter().GetResult(); if (database != null) { cosmonautClient.DeleteDatabaseAsync(DatabaseId); } var cosmosSettings = new CosmosStoreSettings(DatabaseId, EmulatorUri, EmulatorKey); var serviceCollection = new ServiceCollection() .AddCosmosStore <FlatForRentAnnouncementEntity>(cosmosSettings, _flatForRentAnnouncementRepositoryTestCollectionName) .AddCosmosStore <RoomForRentAnnouncementEntity>(cosmosSettings, _roomForRentAnnouncementRepositoryTestCollectionName); var serviceProvider = serviceCollection.BuildServiceProvider(); FlatForRentAnnouncementCosmosStore = serviceProvider.GetService <ICosmosStore <FlatForRentAnnouncementEntity> >(); RoomForRentAnnouncementCosmosStore = serviceProvider.GetService <ICosmosStore <RoomForRentAnnouncementEntity> >(); }
protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.ConfigureTestServices(services => { var cosmonautClient = new CosmonautClient(EmulatorUri, EmulatorKey); var database = cosmonautClient.GetDatabaseAsync(DatabaseId).GetAwaiter().GetResult(); if (database != null) { cosmonautClient.DeleteDatabaseAsync(DatabaseId); } var descriptors = services .Where(x => x.ServiceType == typeof(ICosmosStore <FlatForRentAnnouncementEntity>) || x.ServiceType == typeof(ICosmosStore <RoomForRentAnnouncementEntity>) || x.ServiceType == typeof(IHttpClientService)) .ToList(); if (descriptors.Any()) { foreach (var descriptor in descriptors) { services.Remove(descriptor); } } var cosmosSettings = new CosmosStoreSettings(DatabaseId, EmulatorUri, EmulatorKey, settings => { settings.JsonSerializerSettings = new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat, Formatting = Formatting.Indented, Converters = { new StringEnumConverter(), new IsoDateTimeConverter() } }; }); services.AddCosmosStore <FlatForRentAnnouncementEntity>(cosmosSettings); services.AddCosmosStore <RoomForRentAnnouncementEntity>(cosmosSettings); services.AddScoped <IHttpClientService, HttpClientServiceStub>(); var sp = services.BuildServiceProvider(); FlatForRentAnnouncementEntityCosmosStore = sp.GetRequiredService <ICosmosStore <FlatForRentAnnouncementEntity> >(); RoomForRentAnnouncementEntityCosmosStore = sp.GetRequiredService <ICosmosStore <RoomForRentAnnouncementEntity> >(); }); }