U4-8497 - fixing tests...

This commit is contained in:
Stephan
2016-05-26 19:20:33 +02:00
parent 23ce1e5b6e
commit 2e4e8a3fbc
6 changed files with 52 additions and 23 deletions

View File

@@ -119,9 +119,14 @@ namespace Umbraco.Tests
CacheHelper.CreateDisabledCacheHelper(),
new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>()));
var facade = new Mock<IFacade>();
facade.Setup(x => x.MemberCache).Returns(Mock.Of<IPublishedMemberCache>());
var facadeService = new Mock<IFacadeService>();
facadeService.Setup(x => x.CreateFacade(It.IsAny<string>())).Returns(facade.Object);
var umbCtx = UmbracoContext.EnsureContext(
Mock.Of<HttpContextBase>(), appCtx,
Mock.Of<IFacadeService>(),
facadeService.Object,
new Mock<WebSecurity>(null, null).Object,
Mock.Of<IUmbracoSettingsSection>(),
Enumerable.Empty<IUrlProvider>(),
@@ -146,10 +151,15 @@ namespace Umbraco.Tests
var appCtx = new ApplicationContext(
CacheHelper.CreateDisabledCacheHelper(),
new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>()));
var facade = new Mock<IFacade>();
facade.Setup(x => x.MemberCache).Returns(Mock.Of<IPublishedMemberCache>());
var facadeService = new Mock<IFacadeService>();
facadeService.Setup(x => x.CreateFacade(It.IsAny<string>())).Returns(facade.Object);
var umbCtx = UmbracoContext.EnsureContext(
Mock.Of<HttpContextBase>(), appCtx,
Mock.Of<IFacadeService>(),
facadeService.Object,
new Mock<WebSecurity>(null, null).Object,
Mock.Of<IUmbracoSettingsSection>(),
Enumerable.Empty<IUrlProvider>(),

View File

@@ -11,6 +11,7 @@ using SQLCE4Umbraco;
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Configuration;
using Umbraco.Core.Configuration.UmbracoSettings;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Manifest;
@@ -431,9 +432,8 @@ namespace Umbraco.Tests.TestHelpers
ApplicationContext,
service,
new WebSecurity(httpContext, ApplicationContext),
null,
Enumerable.Empty<IUrlProvider>(),
null);
Mock.Of<IUmbracoSettingsSection>(),
Enumerable.Empty<IUrlProvider>());
if (setSingleton)
{

View File

@@ -103,9 +103,14 @@ namespace Umbraco.Tests.Web.Mvc
CacheHelper.CreateDisabledCacheHelper(),
new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>()));
var facade = new Mock<IFacade>();
facade.Setup(x => x.MemberCache).Returns(Mock.Of<IPublishedMemberCache>());
var facadeService = new Mock<IFacadeService>();
facadeService.Setup(x => x.CreateFacade(It.IsAny<string>())).Returns(facade.Object);
var umbCtx = UmbracoContext.EnsureContext(
new Mock<HttpContextBase>().Object, appCtx,
Mock.Of<IFacadeService>(),
facadeService.Object,
new Mock<WebSecurity>(null, null).Object,
Mock.Of<IUmbracoSettingsSection>(section => section.WebRouting == Mock.Of<IWebRoutingSection>(routingSection => routingSection.UrlProviderMode == "AutoLegacy")),
Enumerable.Empty<IUrlProvider>(),

View File

@@ -19,6 +19,7 @@ using Umbraco.Core.Persistence.SqlSyntax;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Profiling;
using Umbraco.Core.Services;
using Umbraco.Core.Strings;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.TestHelpers.Stubs;
using Umbraco.Web;
@@ -437,7 +438,7 @@ namespace Umbraco.Tests.Web.Mvc
var cache = new NullCacheProvider();
var provider = new NPocoUnitOfWorkProvider(databaseFactory, new RepositoryFactory(Mock.Of<IServiceContainer>()));
_service = new FacadeService(svcCtx, provider, cache, true, false); // no events
_service = new FacadeService(svcCtx, provider, cache, Enumerable.Empty<IUrlSegmentProvider>(), true, false); // no events
var http = GetHttpContextFactory(url, routeData).HttpContext;

View File

@@ -1,4 +1,5 @@
using System.Linq;
using System.Collections.Generic;
using System.Linq;
using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Models;
@@ -25,31 +26,41 @@ namespace Umbraco.Web.PublishedCache.XmlPublishedCache
#region Constructors
// used in StandaloneBootManager only, should get rid of that one eventually
internal FacadeService(ServiceContext serviceContext, IDatabaseUnitOfWorkProvider uowProvider, ICacheProvider requestCache)
: this(serviceContext, uowProvider, requestCache, null, false, true)
{ }
// used in some tests + in WebBootManager
internal FacadeService(ServiceContext serviceContext, IDatabaseUnitOfWorkProvider uowProvider, ICacheProvider requestCache,
bool testing, bool enableRepositoryEvents)
: this(serviceContext, uowProvider, requestCache, null, testing, enableRepositoryEvents)
// used in WebBootManager + tests
public FacadeService(ServiceContext serviceContext,
IDatabaseUnitOfWorkProvider uowProvider,
ICacheProvider requestCache,
IEnumerable<IUrlSegmentProvider> segmentProviders,
bool testing = false, bool enableRepositoryEvents = true)
: this(serviceContext, uowProvider, requestCache, segmentProviders, null, testing, enableRepositoryEvents)
{ }
// used in some tests
internal FacadeService(ServiceContext serviceContext, IDatabaseUnitOfWorkProvider uowProvider, ICacheProvider requestCache,
PublishedContentTypeCache contentTypeCache, bool testing, bool enableRepositoryEvents)
internal FacadeService(ServiceContext serviceContext,
IDatabaseUnitOfWorkProvider uowProvider,
ICacheProvider requestCache,
PublishedContentTypeCache contentTypeCache,
bool testing, bool enableRepositoryEvents)
: this(serviceContext, uowProvider, requestCache, Enumerable.Empty<IUrlSegmentProvider>(), contentTypeCache, testing, enableRepositoryEvents)
{ }
private FacadeService(ServiceContext serviceContext,
IDatabaseUnitOfWorkProvider uowProvider,
ICacheProvider requestCache,
IEnumerable<IUrlSegmentProvider> segmentProviders,
PublishedContentTypeCache contentTypeCache,
bool testing, bool enableRepositoryEvents)
{
_routesCache = new RoutesCache();
_contentTypeCache = contentTypeCache
?? new PublishedContentTypeCache(serviceContext.ContentTypeService, serviceContext.MediaTypeService, serviceContext.MemberTypeService);
var providers = UrlSegmentProviderResolver.Current.Providers; // fixme - inject!
_xmlStore = new XmlStore(serviceContext, uowProvider, _routesCache, _contentTypeCache, providers, testing, enableRepositoryEvents);
_xmlStore = new XmlStore(serviceContext, uowProvider, _routesCache, _contentTypeCache, segmentProviders, testing, enableRepositoryEvents);
_domainService = serviceContext.DomainService;
_memberService = serviceContext.MemberService;
_mediaService = serviceContext.MediaService;
_requestCache = requestCache;
}

View File

@@ -39,6 +39,7 @@ using Umbraco.Web.Editors;
using Umbraco.Core.DependencyInjection;
using Umbraco.Core.Persistence.UnitOfWork;
using Umbraco.Core.Services.Changes;
using Umbraco.Core.Strings;
using Umbraco.Web.Cache;
using Umbraco.Web.DependencyInjection;
using Umbraco.Web._Legacy.Actions;
@@ -335,7 +336,8 @@ namespace Umbraco.Web
container.RegisterSingleton<IFacadeService>(factory => new FacadeService(
factory.GetInstance<ServiceContext>(),
factory.GetInstance<IDatabaseUnitOfWorkProvider>(),
factory.GetInstance<CacheHelper>().RequestCache));
factory.GetInstance<CacheHelper>().RequestCache,
factory.GetAllInstances<IUrlSegmentProvider>()));
//no need to declare as per request, currently we manage it's lifetime as the singleton
container.Register(factory => UmbracoContext.Current);