Async support for content finders. Improve log performance. (#12340)
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
// Copyright (c) Umbraco.
|
||||
// Copyright (c) Umbraco.
|
||||
// See LICENSE for more details.
|
||||
|
||||
using System.Threading.Tasks;
|
||||
using Umbraco.Cms.Core.Routing;
|
||||
|
||||
namespace Umbraco.Cms.Tests.Common
|
||||
{
|
||||
public class TestLastChanceFinder : IContentLastChanceFinder
|
||||
{
|
||||
public bool TryFindContent(IPublishedRequestBuilder frequest) => false;
|
||||
public async Task<bool> TryFindContent(IPublishedRequestBuilder frequest) => false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
var lookup =
|
||||
new ContentFinderByUrlAlias(Mock.Of<ILogger<ContentFinderByUrlAlias>>(), Mock.Of<IPublishedValueFallback>(), VariationContextAccessor, umbracoContextAccessor);
|
||||
|
||||
var result = lookup.TryFindContent(frequest);
|
||||
var result = await lookup.TryFindContent(frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(frequest.PublishedContent.Id, nodeMatch);
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
}
|
||||
|
||||
var finder = new ContentFinderByUrlAlias(Mock.Of<ILogger<ContentFinderByUrlAlias>>(), Mock.Of<IPublishedValueFallback>(), VariationContextAccessor, umbracoContextAccessor);
|
||||
var result = finder.TryFindContent(request);
|
||||
var result = await finder.TryFindContent(request);
|
||||
|
||||
if (expectedNode > 0)
|
||||
{
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
Mock.Of<ILogger<ContentFinderByIdPath>>(), Mock.Of<IRequestAccessor>(), umbracoContextAccessor);
|
||||
|
||||
|
||||
var result = lookup.TryFindContent(frequest);
|
||||
var result = await lookup.TryFindContent(frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(frequest.PublishedContent.Id, nodeMatch);
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
|
||||
var lookup = new ContentFinderByPageIdQuery(mockRequestAccessor.Object, umbracoContextAccessor);
|
||||
|
||||
var result = lookup.TryFindContent(frequest);
|
||||
var result = await lookup.TryFindContent(frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(frequest.PublishedContent.Id, nodeMatch);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using AutoFixture.NUnit3;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
@@ -24,7 +25,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
[InlineAutoMoqData("/only/one/alias", 100111)]
|
||||
[InlineAutoMoqData("/ONLY/one/Alias", 100111)]
|
||||
[InlineAutoMoqData("/alias43", 100121)]
|
||||
public void Lookup_By_Url_Alias (
|
||||
public async Task Lookup_By_Url_Alias (
|
||||
string relativeUrl,
|
||||
int nodeMatch,
|
||||
[Frozen] IPublishedContentCache publishedContentCache,
|
||||
@@ -54,7 +55,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
Mock.Get(variationContextAccessor).Setup(x => x.VariationContext).Returns(variationContext);
|
||||
var publishedRequestBuilder = new PublishedRequestBuilder(new Uri(absoluteUrl, UriKind.Absolute), fileService);
|
||||
//Act
|
||||
var result = sut.TryFindContent(publishedRequestBuilder);
|
||||
var result = await sut.TryFindContent(publishedRequestBuilder);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(publishedRequestBuilder.PublishedContent.Id, nodeMatch);
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
umbracoContextAccessor,
|
||||
Mock.Of<IOptionsMonitor<WebRoutingSettings>>(x=>x.CurrentValue == webRoutingSettings));
|
||||
|
||||
var result = lookup.TryFindContent(frequest);
|
||||
var result = await lookup.TryFindContent(frequest);
|
||||
|
||||
IPublishedRequest request = frequest.Build();
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
if (urlString == "/home/sub1")
|
||||
System.Diagnostics.Debugger.Break();
|
||||
|
||||
var result = lookup.finder.TryFindContent(lookup.frequest);
|
||||
var result = await lookup.finder.TryFindContent(lookup.frequest);
|
||||
|
||||
if (expectedId > 0)
|
||||
{
|
||||
@@ -88,7 +88,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
|
||||
Assert.IsFalse(GlobalSettings.HideTopLevelNodeFromPath);
|
||||
|
||||
var result = lookup.finder.TryFindContent(lookup.frequest);
|
||||
var result = await lookup.finder.TryFindContent(lookup.frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(expectedId, lookup.frequest.PublishedContent.Id);
|
||||
@@ -107,7 +107,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
|
||||
var lookup = await GetContentFinder(urlString);
|
||||
|
||||
var result = lookup.finder.TryFindContent(lookup.frequest);
|
||||
var result = await lookup.finder.TryFindContent(lookup.frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(expectedId, lookup.frequest.PublishedContent.Id);
|
||||
@@ -132,7 +132,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
|
||||
lookup.frequest.SetDomain(new DomainAndUri(new Domain(1, "mysite", -1, "en-US", false), new Uri("http://mysite/")));
|
||||
|
||||
var result = lookup.finder.TryFindContent(lookup.frequest);
|
||||
var result = await lookup.finder.TryFindContent(lookup.frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(expectedId, lookup.frequest.PublishedContent.Id);
|
||||
@@ -158,7 +158,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
|
||||
lookup.frequest.SetDomain(new DomainAndUri(new Domain(1, "mysite/æøå", -1, "en-US", false), new Uri("http://mysite/æøå")));
|
||||
|
||||
var result = lookup.finder.TryFindContent(lookup.frequest);
|
||||
var result = await lookup.finder.TryFindContent(lookup.frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(expectedId, lookup.frequest.PublishedContent.Id);
|
||||
|
||||
@@ -140,7 +140,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
publishedRouter.FindDomain(frequest);
|
||||
|
||||
var lookup = new ContentFinderByUrl(Mock.Of<ILogger<ContentFinderByUrl>>(), umbracoContextAccessor);
|
||||
var result = lookup.TryFindContent(frequest);
|
||||
var result = await lookup.TryFindContent(frequest);
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(expectedId, frequest.PublishedContent.Id);
|
||||
}
|
||||
@@ -183,7 +183,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
Assert.AreEqual(expectedCulture, frequest.Culture);
|
||||
|
||||
var lookup = new ContentFinderByUrl(Mock.Of<ILogger<ContentFinderByUrl>>(), umbracoContextAccessor);
|
||||
var result = lookup.TryFindContent(frequest);
|
||||
var result = await lookup.TryFindContent(frequest);
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(expectedId, frequest.PublishedContent.Id);
|
||||
}
|
||||
|
||||
@@ -304,7 +304,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
Assert.AreEqual(expectedCulture, frequest.Culture);
|
||||
|
||||
var finder = new ContentFinderByUrl(Mock.Of<ILogger<ContentFinderByUrl>>(), umbracoContextAccessor);
|
||||
var result = finder.TryFindContent(frequest);
|
||||
var result = await finder.TryFindContent(frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(frequest.PublishedContent.Id, expectedNode);
|
||||
@@ -352,7 +352,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
|
||||
// find document
|
||||
var finder = new ContentFinderByUrl(Mock.Of<ILogger<ContentFinderByUrl>>(), umbracoContextAccessor);
|
||||
var result = finder.TryFindContent(frequest);
|
||||
var result = await finder.TryFindContent(frequest);
|
||||
|
||||
// apply wildcard domain
|
||||
publishedRouter.HandleWildcardDomains(frequest);
|
||||
@@ -388,7 +388,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
Assert.AreEqual(expectedCulture, frequest.Culture);
|
||||
|
||||
var finder = new ContentFinderByUrl(Mock.Of<ILogger<ContentFinderByUrl>>(), umbracoContextAccessor);
|
||||
var result = finder.TryFindContent(frequest);
|
||||
var result = await finder.TryFindContent(frequest);
|
||||
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(frequest.PublishedContent.Id, expectedNode);
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Routing
|
||||
|
||||
// check that it's been routed
|
||||
var lookup = new ContentFinderByUrl(Mock.Of<ILogger<ContentFinderByUrl>>(), umbracoContextAccessor);
|
||||
var result = lookup.TryFindContent(frequest);
|
||||
var result = await lookup.TryFindContent(frequest);
|
||||
Assert.IsTrue(result);
|
||||
Assert.AreEqual(100111, frequest.PublishedContent.Id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user