Example #1
0
        public async Task Match_Document_By_Url_With_Template(string urlAsString)
        {
            var globalSettings = new GlobalSettings {
                HideTopLevelNodeFromPath = false
            };

            var template1       = CreateTemplate("test");
            var template2       = CreateTemplate("blah");
            var umbracoContext  = GetUmbracoContext(urlAsString, template1.Id, globalSettings: globalSettings);
            var publishedRouter = CreatePublishedRouter(GetUmbracoContextAccessor(umbracoContext));
            var reqBuilder      = await publishedRouter.CreateRequestAsync(umbracoContext.CleanedUmbracoUrl);

            var webRoutingSettings = new WebRoutingSettings();
            var lookup             = new ContentFinderByUrlAndTemplate(
                LoggerFactory.CreateLogger <ContentFinderByUrlAndTemplate>(),
                ServiceContext.FileService,
                ServiceContext.ContentTypeService,
                GetUmbracoContextAccessor(umbracoContext),
                Microsoft.Extensions.Options.Options.Create(webRoutingSettings));

            var result = lookup.TryFindContent(reqBuilder);

            IPublishedRequest frequest = reqBuilder.Build();

            Assert.IsTrue(result);
            Assert.IsNotNull(frequest.PublishedContent);
            var templateAlias = frequest.GetTemplateAlias();

            Assert.IsNotNull(templateAlias);
            Assert.AreEqual("blah".ToUpperInvariant(), templateAlias.ToUpperInvariant());
        }
    [TestCase("/Home/Sub1/Blah")] // different cases
    public async Task Match_Document_By_Url_With_Template(string urlAsString)
    {
        GlobalSettings.HideTopLevelNodeFromPath = false;

        var umbracoContextAccessor = GetUmbracoContextAccessor(urlAsString);
        var umbracoContext         = umbracoContextAccessor.GetRequiredUmbracoContext();
        var publishedRouter        = CreatePublishedRouter(umbracoContextAccessor);
        var frequest = await publishedRouter.CreateRequestAsync(umbracoContext.CleanedUmbracoUrl);

        var webRoutingSettings = new WebRoutingSettings();
        var lookup             = new ContentFinderByUrlAndTemplate(
            Mock.Of <ILogger <ContentFinderByUrlAndTemplate> >(),
            _fileService,
            ContentTypeService,
            umbracoContextAccessor,
            Mock.Of <IOptionsMonitor <WebRoutingSettings> >(x => x.CurrentValue == webRoutingSettings));

        var result = await lookup.TryFindContent(frequest);

        var request = frequest.Build();

        Assert.IsTrue(result);
        Assert.IsNotNull(frequest.PublishedContent);
        var templateAlias = request.GetTemplateAlias();

        Assert.IsNotNull(templateAlias);
        Assert.AreEqual("blah".ToUpperInvariant(), templateAlias.ToUpperInvariant());
    }
Example #3
0
        public void Match_Document_By_Url_With_Template(string urlAsString)
        {
            var globalSettings = Mock.Get(Factory.GetInstance <IGlobalSettings>()); //this will modify the IGlobalSettings instance stored in the container

            globalSettings.Setup(x => x.HideTopLevelNodeFromPath).Returns(false);

            var template1       = CreateTemplate("test");
            var template2       = CreateTemplate("blah");
            var umbracoContext  = GetUmbracoContext(urlAsString, template1.Id, globalSettings: globalSettings.Object);
            var publishedRouter = CreatePublishedRouter();
            var frequest        = publishedRouter.CreateRequest(umbracoContext);
            var lookup          = new ContentFinderByUrlAndTemplate(Logger, ServiceContext.FileService);

            var result = lookup.TryFindContent(frequest);

            Assert.IsTrue(result);
            Assert.IsNotNull(frequest.PublishedContent);
            Assert.IsNotNull(frequest.TemplateAlias);
            Assert.AreEqual("blah".ToUpperInvariant(), frequest.TemplateAlias.ToUpperInvariant());
        }