From 5446e4b0fc2869cf9487df8e188deeb86d5fdafa Mon Sep 17 00:00:00 2001 From: Stephan Date: Thu, 12 Jan 2017 19:32:44 +0100 Subject: [PATCH] U4-9322 - IScopeProviderInternal --- src/Umbraco.Core/DatabaseContext.cs | 12 ++++++------ src/Umbraco.Core/Scoping/IScopeProviderInternal.cs | 10 +++------- src/Umbraco.Core/Scoping/ScopeProvider.cs | 2 +- .../BootManagers/CoreBootManagerTests.cs | 2 +- .../Migrations/FindingMigrationsTest.cs | 2 +- src/Umbraco.Tests/MockTests.cs | 4 ++-- .../Models/Mapping/ContentTypeModelMappingTests.cs | 2 +- src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs | 2 +- src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs | 2 +- src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs | 2 +- 10 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/Umbraco.Core/DatabaseContext.cs b/src/Umbraco.Core/DatabaseContext.cs index 2f7641795f..ec5607f641 100644 --- a/src/Umbraco.Core/DatabaseContext.cs +++ b/src/Umbraco.Core/DatabaseContext.cs @@ -27,7 +27,7 @@ namespace Umbraco.Core /// public class DatabaseContext { - internal readonly ScopeProvider ScopeProvider; + internal readonly IScopeProviderInternal ScopeProvider; private readonly ILogger _logger; private readonly SqlSyntaxProviders _syntaxProviders; private bool _configured; @@ -42,7 +42,7 @@ namespace Umbraco.Core private const int ConnectionCheckMinutes = 1; [Obsolete("Use the constructor specifying all dependencies instead")] - public DatabaseContext(IScopeProvider scopeProvider) + internal DatabaseContext(IScopeProviderInternal scopeProvider) : this(scopeProvider, LoggerResolver.Current.Logger, new SqlSyntaxProviders(new ISqlSyntaxProvider[] { new MySqlSyntaxProvider(LoggerResolver.Current.Logger), @@ -58,13 +58,13 @@ namespace Umbraco.Core /// /// /// - public DatabaseContext(IScopeProvider scopeProvider, ILogger logger, SqlSyntaxProviders syntaxProviders) + internal DatabaseContext(IScopeProviderInternal scopeProvider, ILogger logger, SqlSyntaxProviders syntaxProviders) { if (scopeProvider == null) throw new ArgumentNullException("scopeProvider"); if (logger == null) throw new ArgumentNullException("logger"); if (syntaxProviders == null) throw new ArgumentNullException("syntaxProviders"); - ScopeProvider = (ScopeProvider) scopeProvider; // fixme ugly + ScopeProvider = scopeProvider; _logger = logger; _syntaxProviders = syntaxProviders; } @@ -76,12 +76,12 @@ namespace Umbraco.Core /// /// /// - public DatabaseContext(IScopeProvider scopeProvider, ILogger logger, ISqlSyntaxProvider sqlSyntax, string providerName) + internal DatabaseContext(IScopeProviderInternal scopeProvider, ILogger logger, ISqlSyntaxProvider sqlSyntax, string providerName) { _providerName = providerName; SqlSyntax = sqlSyntax; SqlSyntaxContext.SqlSyntaxProvider = SqlSyntax; - ScopeProvider = (ScopeProvider) scopeProvider; // fixme ugly + ScopeProvider = scopeProvider; _logger = logger; _configured = true; } diff --git a/src/Umbraco.Core/Scoping/IScopeProviderInternal.cs b/src/Umbraco.Core/Scoping/IScopeProviderInternal.cs index ad0419f7a5..8726efbfb6 100644 --- a/src/Umbraco.Core/Scoping/IScopeProviderInternal.cs +++ b/src/Umbraco.Core/Scoping/IScopeProviderInternal.cs @@ -1,12 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Umbraco.Core.Scoping +namespace Umbraco.Core.Scoping { internal interface IScopeProviderInternal : IScopeProvider { + IScope AmbientScope { get; set; } + IScope CreateNoScope(); } } diff --git a/src/Umbraco.Core/Scoping/ScopeProvider.cs b/src/Umbraco.Core/Scoping/ScopeProvider.cs index cdb51e2017..f3b139827c 100644 --- a/src/Umbraco.Core/Scoping/ScopeProvider.cs +++ b/src/Umbraco.Core/Scoping/ScopeProvider.cs @@ -5,7 +5,7 @@ using Umbraco.Core.Persistence; namespace Umbraco.Core.Scoping { - internal class ScopeProvider : IScopeProvider + internal class ScopeProvider : IScopeProviderInternal { public ScopeProvider(IDatabaseFactory2 databaseFactory) { diff --git a/src/Umbraco.Tests/BootManagers/CoreBootManagerTests.cs b/src/Umbraco.Tests/BootManagers/CoreBootManagerTests.cs index ac7758c9e0..eadb96c2ac 100644 --- a/src/Umbraco.Tests/BootManagers/CoreBootManagerTests.cs +++ b/src/Umbraco.Tests/BootManagers/CoreBootManagerTests.cs @@ -72,7 +72,7 @@ namespace Umbraco.Tests.BootManagers { var appContext = base.CreateApplicationContext(dbContext, serviceContext); - var dbContextMock = new Mock(Mock.Of(), ProfilingLogger.Logger, Mock.Of(), "test"); + var dbContextMock = new Mock(Mock.Of(), ProfilingLogger.Logger, Mock.Of(), "test"); dbContextMock.Setup(x => x.CanConnect).Returns(true); appContext.DatabaseContext = dbContextMock.Object; diff --git a/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs b/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs index 70ae17fa14..0e60e0953c 100644 --- a/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs +++ b/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs @@ -40,7 +40,7 @@ namespace Umbraco.Tests.Migrations //This is needed because the Migration resolver is creating migration instances with their full ctors ApplicationContext.EnsureContext( new ApplicationContext( - new DatabaseContext(Mock.Of(), Mock.Of(), sqlSyntax, "test"), + new DatabaseContext(Mock.Of(), Mock.Of(), sqlSyntax, "test"), new ServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger(Mock.Of(), Mock.Of())), diff --git a/src/Umbraco.Tests/MockTests.cs b/src/Umbraco.Tests/MockTests.cs index a01c74c763..8a0dba70da 100644 --- a/src/Umbraco.Tests/MockTests.cs +++ b/src/Umbraco.Tests/MockTests.cs @@ -47,7 +47,7 @@ namespace Umbraco.Tests [Test] public void Can_Create_Db_Context() { - var dbCtx = new DatabaseContext(new Mock().Object, Mock.Of(), Mock.Of(), "test"); + var dbCtx = new DatabaseContext(new Mock().Object, Mock.Of(), Mock.Of(), "test"); Assert.Pass(); } @@ -55,7 +55,7 @@ namespace Umbraco.Tests public void Can_Create_App_Context_With_Services() { var appCtx = new ApplicationContext( - new DatabaseContext(new Mock().Object, Mock.Of(), Mock.Of(), "test"), + new DatabaseContext(new Mock().Object, Mock.Of(), Mock.Of(), "test"), MockHelper.GetMockedServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger(Mock.Of(), Mock.Of())); diff --git a/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs b/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs index fd7a9997d9..1ff3447539 100644 --- a/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs +++ b/src/Umbraco.Tests/Models/Mapping/ContentTypeModelMappingTests.cs @@ -41,7 +41,7 @@ namespace Umbraco.Tests.Models.Mapping //Create an app context using mocks var appContext = new ApplicationContext( - new DatabaseContext(Mock.Of(), Mock.Of(), Mock.Of(), "test"), + new DatabaseContext(Mock.Of(), Mock.Of(), Mock.Of(), "test"), //Create service context using mocks new ServiceContext( diff --git a/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs b/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs index 85c07972a5..b4b20547fb 100644 --- a/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs +++ b/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs @@ -62,7 +62,7 @@ namespace Umbraco.Tests.Routing { var settings = SettingsForTests.GetDefault(); return new ApplicationContext( - new DatabaseContext(Mock.Of(), Logger, Mock.Of(), "test"), + new DatabaseContext(Mock.Of(), Logger, Mock.Of(), "test"), GetServiceContext(settings, Logger), CacheHelper, ProfilingLogger) diff --git a/src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs b/src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs index 5d0ef96e57..e95b2fe9af 100644 --- a/src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs +++ b/src/Umbraco.Tests/Web/Mvc/SurfaceControllerTests.cs @@ -75,7 +75,7 @@ namespace Umbraco.Tests.Web.Mvc public void Umbraco_Helper_Not_Null() { var appCtx = new ApplicationContext( - new DatabaseContext(new Mock().Object, Mock.Of(), Mock.Of(), "test"), + new DatabaseContext(new Mock().Object, Mock.Of(), Mock.Of(), "test"), MockHelper.GetMockedServiceContext(), CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger(Mock.Of(), Mock.Of())); diff --git a/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs b/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs index e90ea23068..6d776b6d35 100644 --- a/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs +++ b/src/Umbraco.Tests/Web/Mvc/UmbracoViewPageTests.cs @@ -464,7 +464,7 @@ namespace Umbraco.Tests.Web.Mvc var svcCtx = GetServiceContext(umbracoSettings, logger); var appCtx = new ApplicationContext( - new DatabaseContext(Mock.Of(), logger, Mock.Of(), "test"), + new DatabaseContext(Mock.Of(), logger, Mock.Of(), "test"), svcCtx, CacheHelper.CreateDisabledCacheHelper(), new ProfilingLogger(logger, Mock.Of())) { IsReady = true };