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();
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
        }