U4-9322 - IScopeProviderInternal

This commit is contained in:
Stephan
2017-01-12 19:32:44 +01:00
parent 79c2400d27
commit 5446e4b0fc
10 changed files with 18 additions and 22 deletions

View File

@@ -27,7 +27,7 @@ namespace Umbraco.Core
/// </remarks> /// </remarks>
public class DatabaseContext public class DatabaseContext
{ {
internal readonly ScopeProvider ScopeProvider; internal readonly IScopeProviderInternal ScopeProvider;
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly SqlSyntaxProviders _syntaxProviders; private readonly SqlSyntaxProviders _syntaxProviders;
private bool _configured; private bool _configured;
@@ -42,7 +42,7 @@ namespace Umbraco.Core
private const int ConnectionCheckMinutes = 1; private const int ConnectionCheckMinutes = 1;
[Obsolete("Use the constructor specifying all dependencies instead")] [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[] : this(scopeProvider, LoggerResolver.Current.Logger, new SqlSyntaxProviders(new ISqlSyntaxProvider[]
{ {
new MySqlSyntaxProvider(LoggerResolver.Current.Logger), new MySqlSyntaxProvider(LoggerResolver.Current.Logger),
@@ -58,13 +58,13 @@ namespace Umbraco.Core
/// <param name="scopeProvider"></param> /// <param name="scopeProvider"></param>
/// <param name="logger"></param> /// <param name="logger"></param>
/// <param name="syntaxProviders"></param> /// <param name="syntaxProviders"></param>
public DatabaseContext(IScopeProvider scopeProvider, ILogger logger, SqlSyntaxProviders syntaxProviders) internal DatabaseContext(IScopeProviderInternal scopeProvider, ILogger logger, SqlSyntaxProviders syntaxProviders)
{ {
if (scopeProvider == null) throw new ArgumentNullException("scopeProvider"); if (scopeProvider == null) throw new ArgumentNullException("scopeProvider");
if (logger == null) throw new ArgumentNullException("logger"); if (logger == null) throw new ArgumentNullException("logger");
if (syntaxProviders == null) throw new ArgumentNullException("syntaxProviders"); if (syntaxProviders == null) throw new ArgumentNullException("syntaxProviders");
ScopeProvider = (ScopeProvider) scopeProvider; // fixme ugly ScopeProvider = scopeProvider;
_logger = logger; _logger = logger;
_syntaxProviders = syntaxProviders; _syntaxProviders = syntaxProviders;
} }
@@ -76,12 +76,12 @@ namespace Umbraco.Core
/// <param name="logger"></param> /// <param name="logger"></param>
/// <param name="sqlSyntax"></param> /// <param name="sqlSyntax"></param>
/// <param name="providerName"></param> /// <param name="providerName"></param>
public DatabaseContext(IScopeProvider scopeProvider, ILogger logger, ISqlSyntaxProvider sqlSyntax, string providerName) internal DatabaseContext(IScopeProviderInternal scopeProvider, ILogger logger, ISqlSyntaxProvider sqlSyntax, string providerName)
{ {
_providerName = providerName; _providerName = providerName;
SqlSyntax = sqlSyntax; SqlSyntax = sqlSyntax;
SqlSyntaxContext.SqlSyntaxProvider = SqlSyntax; SqlSyntaxContext.SqlSyntaxProvider = SqlSyntax;
ScopeProvider = (ScopeProvider) scopeProvider; // fixme ugly ScopeProvider = scopeProvider;
_logger = logger; _logger = logger;
_configured = true; _configured = true;
} }

View File

@@ -1,12 +1,8 @@
using System; namespace Umbraco.Core.Scoping
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Umbraco.Core.Scoping
{ {
internal interface IScopeProviderInternal : IScopeProvider internal interface IScopeProviderInternal : IScopeProvider
{ {
IScope AmbientScope { get; set; }
IScope CreateNoScope();
} }
} }

View File

@@ -5,7 +5,7 @@ using Umbraco.Core.Persistence;
namespace Umbraco.Core.Scoping namespace Umbraco.Core.Scoping
{ {
internal class ScopeProvider : IScopeProvider internal class ScopeProvider : IScopeProviderInternal
{ {
public ScopeProvider(IDatabaseFactory2 databaseFactory) public ScopeProvider(IDatabaseFactory2 databaseFactory)
{ {

View File

@@ -72,7 +72,7 @@ namespace Umbraco.Tests.BootManagers
{ {
var appContext = base.CreateApplicationContext(dbContext, serviceContext); var appContext = base.CreateApplicationContext(dbContext, serviceContext);
var dbContextMock = new Mock<DatabaseContext>(Mock.Of<IScopeProvider>(), ProfilingLogger.Logger, Mock.Of<ISqlSyntaxProvider>(), "test"); var dbContextMock = new Mock<DatabaseContext>(Mock.Of<IScopeProviderInternal>(), ProfilingLogger.Logger, Mock.Of<ISqlSyntaxProvider>(), "test");
dbContextMock.Setup(x => x.CanConnect).Returns(true); dbContextMock.Setup(x => x.CanConnect).Returns(true);
appContext.DatabaseContext = dbContextMock.Object; appContext.DatabaseContext = dbContextMock.Object;

View File

@@ -40,7 +40,7 @@ namespace Umbraco.Tests.Migrations
//This is needed because the Migration resolver is creating migration instances with their full ctors //This is needed because the Migration resolver is creating migration instances with their full ctors
ApplicationContext.EnsureContext( ApplicationContext.EnsureContext(
new ApplicationContext( new ApplicationContext(
new DatabaseContext(Mock.Of<IScopeProvider>(), Mock.Of<ILogger>(), sqlSyntax, "test"), new DatabaseContext(Mock.Of<IScopeProviderInternal>(), Mock.Of<ILogger>(), sqlSyntax, "test"),
new ServiceContext(), new ServiceContext(),
CacheHelper.CreateDisabledCacheHelper(), CacheHelper.CreateDisabledCacheHelper(),
new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>())), new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>())),

View File

@@ -47,7 +47,7 @@ namespace Umbraco.Tests
[Test] [Test]
public void Can_Create_Db_Context() public void Can_Create_Db_Context()
{ {
var dbCtx = new DatabaseContext(new Mock<IScopeProvider>().Object, Mock.Of<ILogger>(), Mock.Of<ISqlSyntaxProvider>(), "test"); var dbCtx = new DatabaseContext(new Mock<IScopeProviderInternal>().Object, Mock.Of<ILogger>(), Mock.Of<ISqlSyntaxProvider>(), "test");
Assert.Pass(); Assert.Pass();
} }
@@ -55,7 +55,7 @@ namespace Umbraco.Tests
public void Can_Create_App_Context_With_Services() public void Can_Create_App_Context_With_Services()
{ {
var appCtx = new ApplicationContext( var appCtx = new ApplicationContext(
new DatabaseContext(new Mock<IScopeProvider>().Object, Mock.Of<ILogger>(), Mock.Of<ISqlSyntaxProvider>(), "test"), new DatabaseContext(new Mock<IScopeProviderInternal>().Object, Mock.Of<ILogger>(), Mock.Of<ISqlSyntaxProvider>(), "test"),
MockHelper.GetMockedServiceContext(), MockHelper.GetMockedServiceContext(),
CacheHelper.CreateDisabledCacheHelper(), CacheHelper.CreateDisabledCacheHelper(),
new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>())); new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>()));

View File

@@ -41,7 +41,7 @@ namespace Umbraco.Tests.Models.Mapping
//Create an app context using mocks //Create an app context using mocks
var appContext = new ApplicationContext( var appContext = new ApplicationContext(
new DatabaseContext(Mock.Of<IScopeProvider>(), Mock.Of<ILogger>(), Mock.Of<ISqlSyntaxProvider>(), "test"), new DatabaseContext(Mock.Of<IScopeProviderInternal>(), Mock.Of<ILogger>(), Mock.Of<ISqlSyntaxProvider>(), "test"),
//Create service context using mocks //Create service context using mocks
new ServiceContext( new ServiceContext(

View File

@@ -62,7 +62,7 @@ namespace Umbraco.Tests.Routing
{ {
var settings = SettingsForTests.GetDefault(); var settings = SettingsForTests.GetDefault();
return new ApplicationContext( return new ApplicationContext(
new DatabaseContext(Mock.Of<IScopeProvider>(), Logger, Mock.Of<ISqlSyntaxProvider>(), "test"), new DatabaseContext(Mock.Of<IScopeProviderInternal>(), Logger, Mock.Of<ISqlSyntaxProvider>(), "test"),
GetServiceContext(settings, Logger), GetServiceContext(settings, Logger),
CacheHelper, CacheHelper,
ProfilingLogger) ProfilingLogger)

View File

@@ -75,7 +75,7 @@ namespace Umbraco.Tests.Web.Mvc
public void Umbraco_Helper_Not_Null() public void Umbraco_Helper_Not_Null()
{ {
var appCtx = new ApplicationContext( var appCtx = new ApplicationContext(
new DatabaseContext(new Mock<IScopeProvider>().Object, Mock.Of<ILogger>(), Mock.Of<ISqlSyntaxProvider>(), "test"), new DatabaseContext(new Mock<IScopeProviderInternal>().Object, Mock.Of<ILogger>(), Mock.Of<ISqlSyntaxProvider>(), "test"),
MockHelper.GetMockedServiceContext(), MockHelper.GetMockedServiceContext(),
CacheHelper.CreateDisabledCacheHelper(), CacheHelper.CreateDisabledCacheHelper(),
new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>())); new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>()));

View File

@@ -464,7 +464,7 @@ namespace Umbraco.Tests.Web.Mvc
var svcCtx = GetServiceContext(umbracoSettings, logger); var svcCtx = GetServiceContext(umbracoSettings, logger);
var appCtx = new ApplicationContext( var appCtx = new ApplicationContext(
new DatabaseContext(Mock.Of<IScopeProvider>(), logger, Mock.Of<ISqlSyntaxProvider>(), "test"), new DatabaseContext(Mock.Of<IScopeProviderInternal>(), logger, Mock.Of<ISqlSyntaxProvider>(), "test"),
svcCtx, svcCtx,
CacheHelper.CreateDisabledCacheHelper(), CacheHelper.CreateDisabledCacheHelper(),
new ProfilingLogger(logger, Mock.Of<IProfiler>())) { IsReady = true }; new ProfilingLogger(logger, Mock.Of<IProfiler>())) { IsReady = true };