예제 #1
0
        protected override IPublishedSnapshotService CreatePublishedSnapshotService()
        {
            var options = new PublishedSnapshotServiceOptions {
                IgnoreLocalDb = true
            };
            var publishedSnapshotAccessor = new UmbracoContextPublishedSnapshotAccessor(Umbraco.Web.Composing.Current.UmbracoContextAccessor);
            var runtimeStateMock          = new Mock <IRuntimeState>();

            runtimeStateMock.Setup(x => x.Level).Returns(() => RuntimeLevel.Run);

            var contentTypeFactory = Factory.GetInstance <IPublishedContentTypeFactory>();
            var documentRepository = Mock.Of <IDocumentRepository>();
            var mediaRepository    = Mock.Of <IMediaRepository>();
            var memberRepository   = Mock.Of <IMemberRepository>();

            return(new PublishedSnapshotService(
                       options,
                       null,
                       runtimeStateMock.Object,
                       ServiceContext,
                       contentTypeFactory,
                       null,
                       publishedSnapshotAccessor,
                       Mock.Of <IVariationContextAccessor>(),
                       ProfilingLogger,
                       ScopeProvider,
                       documentRepository, mediaRepository, memberRepository,
                       DefaultCultureAccessor,
                       new DatabaseDataSource(),
                       Factory.GetInstance <IGlobalSettings>(),
                       Factory.GetInstance <IEntityXmlSerializer>(),
                       Mock.Of <IPublishedModelFactory>(),
                       new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider() }),
                       new TestSyncBootStateAccessor(SyncBootState.WarmBoot)));
        }
        protected override IPublishedSnapshotService CreatePublishedSnapshotService()
        {
            var options = new PublishedSnapshotService.Options {
                IgnoreLocalDb = true
            };
            var publishedSnapshotAccessor = new UmbracoContextPublishedSnapshotAccessor(Umbraco.Web.Composing.Current.UmbracoContextAccessor);
            var runtimeStateMock          = new Mock <IRuntimeState>();

            runtimeStateMock.Setup(x => x.Level).Returns(() => RuntimeLevel.Run);

            var contentTypeFactory = new PublishedContentTypeFactory(Mock.Of <IPublishedModelFactory>(), new PropertyValueConverterCollection(Array.Empty <IPropertyValueConverter>()), Mock.Of <IDataTypeService>());
            var documentRepository = Mock.Of <IDocumentRepository>();
            var mediaRepository    = Mock.Of <IMediaRepository>();
            var memberRepository   = Mock.Of <IMemberRepository>();

            return(new PublishedSnapshotService(
                       options,
                       null,
                       runtimeStateMock.Object,
                       ServiceContext,
                       contentTypeFactory,
                       null,
                       publishedSnapshotAccessor,
                       Mock.Of <IVariationContextAccessor>(),
                       Logger,
                       ScopeProvider,
                       documentRepository, mediaRepository, memberRepository,
                       DefaultCultureAccessor,
                       new DatabaseDataSource(),
                       Factory.GetInstance <IGlobalSettings>(), new SiteDomainHelper()));
        }
        protected virtual IPublishedSnapshotService CreatePublishedSnapshotService(GlobalSettings globalSettings = null)
        {
            var cache = NoAppCache.Instance;

            ContentTypesCache ??= new PublishedContentTypeCache(
                Factory.GetRequiredService <IContentTypeService>(),
                Factory.GetRequiredService <IMediaTypeService>(),
                Factory.GetRequiredService <IMemberTypeService>(),
                Factory.GetRequiredService <IPublishedContentTypeFactory>(),
                Factory.GetRequiredService <ILogger <PublishedContentTypeCache> >());

            // testing=true so XmlStore will not use the file nor the database

            var publishedSnapshotAccessor = new UmbracoContextPublishedSnapshotAccessor(Umbraco.Web.Composing.Current.UmbracoContextAccessor);
            var variationContextAccessor  = new TestVariationContextAccessor();
            var service = new XmlPublishedSnapshotService(
                ServiceContext,
                Factory.GetRequiredService <IPublishedContentTypeFactory>(),
                ScopeProvider,
                cache, publishedSnapshotAccessor, variationContextAccessor,
                Factory.GetRequiredService <IUmbracoContextAccessor>(),
                Factory.GetRequiredService <IDocumentRepository>(), Factory.GetRequiredService <IMediaRepository>(), Factory.GetRequiredService <IMemberRepository>(),
                DefaultCultureAccessor,
                Factory.GetRequiredService <ILoggerFactory>(),
                globalSettings ?? TestObjects.GetGlobalSettings(),
                HostingEnvironment,
                HostingLifetime,
                ShortStringHelper,
                Factory.GetRequiredService <IEntityXmlSerializer>(),
                ContentTypesCache,
                null, true, Options.PublishedRepositoryEvents);

            // initialize PublishedCacheService content with an Xml source
            service.XmlStore.GetXmlDocument = () =>
            {
                var doc = new XmlDocument();
                doc.LoadXml(GetXmlContent(0));
                return(doc);
            };

            return(service);
        }
예제 #4
0
        protected override IPublishedSnapshotService CreatePublishedSnapshotService(GlobalSettings globalSettings = null)
        {
            var options = new PublishedSnapshotServiceOptions {
                IgnoreLocalDb = true
            };
            var publishedSnapshotAccessor = new UmbracoContextPublishedSnapshotAccessor(Current.UmbracoContextAccessor);
            var runtimeStateMock          = new Mock <IRuntimeState>();

            runtimeStateMock.Setup(x => x.Level).Returns(() => RuntimeLevel.Run);

            var contentTypeFactory = Factory.GetRequiredService <IPublishedContentTypeFactory>();
            var documentRepository = Mock.Of <IDocumentRepository>();
            var mediaRepository    = Mock.Of <IMediaRepository>();
            var memberRepository   = Mock.Of <IMemberRepository>();
            var hostingEnvironment = TestHelper.GetHostingEnvironment();

            var typeFinder = TestHelper.GetTypeFinder();

            var nuCacheSettings = new NuCacheSettings();
            var lifetime        = new Mock <IUmbracoApplicationLifetime>();
            var repository      = new NuCacheContentRepository(ScopeProvider, AppCaches.Disabled, Mock.Of <ILogger <NuCacheContentRepository> >(), memberRepository, documentRepository, mediaRepository, Mock.Of <IShortStringHelper>(), new UrlSegmentProviderCollection(new[] { new DefaultUrlSegmentProvider(ShortStringHelper) }));
            var snapshotService = new PublishedSnapshotService(
                options,
                null,
                ServiceContext,
                contentTypeFactory,
                publishedSnapshotAccessor,
                Mock.Of <IVariationContextAccessor>(),
                base.ProfilingLogger,
                NullLoggerFactory.Instance,
                ScopeProvider,
                new NuCacheContentService(repository, ScopeProvider, NullLoggerFactory.Instance, Mock.Of <IEventMessagesFactory>()),
                DefaultCultureAccessor,
                Microsoft.Extensions.Options.Options.Create(globalSettings ?? new GlobalSettings()),
                Factory.GetRequiredService <IEntityXmlSerializer>(),
                new NoopPublishedModelFactory(),
                hostingEnvironment,
                Microsoft.Extensions.Options.Options.Create(nuCacheSettings));

            return(snapshotService);
        }
        protected virtual IPublishedSnapshotService CreatePublishedSnapshotService()
        {
            var cache = NullCacheProvider.Instance;

            ContentTypesCache = new PublishedContentTypeCache(
                Factory.GetInstance <IContentTypeService>(),
                Factory.GetInstance <IMediaTypeService>(),
                Factory.GetInstance <IMemberTypeService>(),
                Factory.GetInstance <IPublishedContentTypeFactory>(),
                Logger);

            // testing=true so XmlStore will not use the file nor the database

            var publishedSnapshotAccessor = new UmbracoContextPublishedSnapshotAccessor(Umbraco.Web.Composing.Current.UmbracoContextAccessor);
            var variationContextAccessor  = new TestVariationContextAccessor();
            var service = new PublishedSnapshotService(
                ServiceContext,
                Factory.GetInstance <IPublishedContentTypeFactory>(),
                ScopeProvider,
                cache, publishedSnapshotAccessor, variationContextAccessor,
                Factory.GetInstance <IDocumentRepository>(), Factory.GetInstance <IMediaRepository>(), Factory.GetInstance <IMemberRepository>(),
                DefaultCultureAccessor,
                Logger,
                Factory.GetInstance <IGlobalSettings>(), new SiteDomainHelper(),
                ContentTypesCache,
                null, true, Options.PublishedRepositoryEvents);

            // initialize PublishedCacheService content with an Xml source
            service.XmlStore.GetXmlDocument = () =>
            {
                var doc = new XmlDocument();
                doc.LoadXml(GetXmlContent(0));
                return(doc);
            };

            return(service);
        }