コード例 #1
0
        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> >();
        }
コード例 #2
0
        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> >();
            });
        }