Esempio n. 1
0
        public IScopeProvider GetScopeProvider(ILoggerFactory loggerFactory, FileSystems fileSystems = null, IUmbracoDatabaseFactory databaseFactory = null)
        {
            var globalSettings    = Options.Create(new GlobalSettings());
            var connectionString  = ConfigurationManager.ConnectionStrings[Constants.System.UmbracoConnectionName].ConnectionString;
            var connectionStrings = Options.Create(new ConnectionStrings {
                UmbracoConnectionString = new ConfigConnectionString(Constants.System.UmbracoConnectionName, connectionString)
            });
            var coreDebugSettings = new CoreDebugSettings();

            if (databaseFactory == null)
            {
                // var mappersBuilder = new MapperCollectionBuilder(Current.Container); // FIXME:
                // mappersBuilder.AddCore();
                // var mappers = mappersBuilder.CreateCollection();
                var mappers = Current.Factory.GetRequiredService <IMapperCollection>();
                databaseFactory = new UmbracoDatabaseFactory(
                    loggerFactory.CreateLogger <UmbracoDatabaseFactory>(),
                    loggerFactory,
                    globalSettings,
                    connectionStrings,
                    new Lazy <IMapperCollection>(() => mappers),
                    TestHelper.DbProviderFactoryCreator,
                    new DatabaseSchemaCreatorFactory(Mock.Of <ILogger <DatabaseSchemaCreator> >(), loggerFactory, new UmbracoVersion(), Mock.Of <IEventAggregator>()));
            }

            fileSystems ??= new FileSystems(loggerFactory, TestHelper.IOHelper, globalSettings, TestHelper.GetHostingEnvironment());
            var coreDebug        = TestHelper.CoreDebugSettings;
            var mediaFileManager = Mock.Of <MediaFileManager>();
            var eventAggregator  = Mock.Of <IEventAggregator>();

            return(new ScopeProvider(databaseFactory, fileSystems, Options.Create(coreDebugSettings), mediaFileManager, loggerFactory.CreateLogger <ScopeProvider>(), loggerFactory, NoAppCache.Instance, eventAggregator));
        }
Esempio n. 2
0
 public ThreadAbortExceptionEnricher(
     IOptionsMonitor <CoreDebugSettings> coreDebugSettings,
     IHostingEnvironment hostingEnvironment, IMarchal marchal)
 {
     _coreDebugSettings  = coreDebugSettings.CurrentValue;
     _hostingEnvironment = hostingEnvironment;
     _marchal            = marchal;
     coreDebugSettings.OnChange(x => _coreDebugSettings = x);
 }
Esempio n. 3
0
        protected virtual void ComposeSettings()
        {
            var contentSettings                   = new ContentSettings();
            var coreDebugSettings                 = new CoreDebugSettings();
            var globalSettings                    = new GlobalSettings();
            var nuCacheSettings                   = new NuCacheSettings();
            var requestHandlerSettings            = new RequestHandlerSettings();
            var userPasswordConfigurationSettings = new UserPasswordConfigurationSettings();
            var webRoutingSettings                = new WebRoutingSettings();

            Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(contentSettings));
            Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(coreDebugSettings));
            Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(globalSettings));
            Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(nuCacheSettings));
            Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(requestHandlerSettings));
            Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(userPasswordConfigurationSettings));
            Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(webRoutingSettings));
        }
Esempio n. 4
0
        private static IServiceProvider MockFactory(Action <Mock <IServiceProvider> > setup = null)
        {
            // FIXME: use IUmbracoDatabaseFactory vs UmbracoDatabaseFactory, clean it all up!
            var mock = new Mock <IServiceProvider>();
            NullLoggerFactory loggerFactory = NullLoggerFactory.Instance;
            ILogger           logger        = loggerFactory.CreateLogger("GenericLogger");
            var globalSettings    = new GlobalSettings();
            var connectionStrings = new ConnectionStrings();
            var mapperCollection  = new NPocoMapperCollection(() => new[] { new NullableDateMapper() });
            var f = new UmbracoDatabaseFactory(
                loggerFactory.CreateLogger <UmbracoDatabaseFactory>(),
                loggerFactory,
                Options.Create(globalSettings),
                Mock.Of <IOptionsMonitor <ConnectionStrings> >(x => x.CurrentValue == connectionStrings),
                new MapperCollection(() => Enumerable.Empty <BaseMapper>()),
                TestHelper.DbProviderFactoryCreator,
                new DatabaseSchemaCreatorFactory(loggerFactory.CreateLogger <DatabaseSchemaCreator>(), loggerFactory, new UmbracoVersion(), Mock.Of <IEventAggregator>()),
                mapperCollection);

            var fs               = new FileSystems(loggerFactory, IOHelper, Options.Create(globalSettings), Mock.Of <IHostingEnvironment>());
            var coreDebug        = new CoreDebugSettings();
            var mediaFileManager = new MediaFileManager(
                Mock.Of <IFileSystem>(),
                Mock.Of <IMediaPathScheme>(),
                Mock.Of <ILogger <MediaFileManager> >(),
                Mock.Of <IShortStringHelper>(),
                Mock.Of <IServiceProvider>(),
                Options.Create(new ContentSettings()));
            IEventAggregator eventAggregator = Mock.Of <IEventAggregator>();
            var scopeProvider = new ScopeProvider(f, fs, Options.Create(coreDebug), mediaFileManager, loggerFactory.CreateLogger <ScopeProvider>(), loggerFactory, NoAppCache.Instance, eventAggregator);

            mock.Setup(x => x.GetService(typeof(ILogger))).Returns(logger);
            mock.Setup(x => x.GetService(typeof(ILogger <ComponentCollection>))).Returns(loggerFactory.CreateLogger <ComponentCollection>);
            mock.Setup(x => x.GetService(typeof(ILoggerFactory))).Returns(loggerFactory);
            mock.Setup(x => x.GetService(typeof(IProfilingLogger))).Returns(new ProfilingLogger(loggerFactory.CreateLogger <ProfilingLogger>(), Mock.Of <IProfiler>()));
            mock.Setup(x => x.GetService(typeof(IUmbracoDatabaseFactory))).Returns(f);
            mock.Setup(x => x.GetService(typeof(IScopeProvider))).Returns(scopeProvider);

            setup?.Invoke(mock);
            return(mock.Object);
        }