private void ConfigureRegistrations(TinyIoCContainer container) { container.Register(_appConfig); container.Register(_logger); var options = new MemoryCacheOptions(); var eventLogger = LogFactory.CreateEventLogger(_loggingLevelSwitch, _appConfig.ApplicationInsights); var serilogEventWriter = new SerilogEventWriter(eventLogger); container.Register <IEventWriter>(serilogEventWriter, "innerEventWriter"); container.Register(options); container.Register <ICouchDbSettings>(_appConfig.CouchDbSettings); container.Register <IPropertySettings>(_appConfig.DefaultPropertySettings); container.Register(typeof(IOptions <>), typeof(OptionsManager <>)); container.Register <IMemoryCache, MemoryCache>(); if (_appConfig.UseInMemoryStores) { container.RegisterInMemoryStores(); } else { container.Register <IDocumentDbService, CouchDbAccessService>("inner"); var dbAccessService = container.Resolve <CouchDbAccessService>(); dbAccessService.Initialize().Wait(); dbAccessService.AddViews("roles", CouchDbRoleStore.GetViews()).Wait(); dbAccessService.AddViews("permissions", CouchDbPermissionStore.GetViews()).Wait(); } }
protected IDocumentDbService DbService() { if (dbService == null) { ICouchDbSettings config = new CouchDbSettings() { DatabaseName = "integration-" + DateTime.UtcNow.Ticks, Username = "", Password = "", Server = "http://127.0.0.1:5984" }; var couchDbServer = Environment.GetEnvironmentVariable(CouchDbServerEnvironmentVariable); if (!string.IsNullOrEmpty(couchDbServer)) { config.Server = couchDbServer; } var innerDbService = new CouchDbAccessService(config, new Mock <ILogger>().Object); innerDbService.Initialize().Wait(); innerDbService.AddViews("roles", CouchDbRoleStore.GetViews()).Wait(); innerDbService.AddViews("permissions", CouchDbPermissionStore.GetViews()).Wait(); var auditingDbService = new AuditingDocumentDbService(new Mock <IEventService>().Object, innerDbService); var cachingDbService = new CachingDocumentDbService(auditingDbService, new MemoryCache(new MemoryCacheOptions())); dbService = cachingDbService; } return(dbService); }
public void Setup() { var initializeTask = Task.Run(async() => { await _documentDbService.Initialize(); await _documentDbService.SetupDefaultUser(); await _documentDbService.AddViews("roles", CouchDbRoleStore.GetViews()); await _documentDbService.AddViews("permissions", CouchDbPermissionStore.GetViews()); }); initializeTask.Wait(); }