Move Configs to abstractions, and injected factory all over to create one because we need to inject stuff from system.configuration

This commit is contained in:
Bjarke Berg
2019-11-06 15:37:03 +01:00
parent 99da374fbf
commit b004bf8920
30 changed files with 87 additions and 64 deletions

View File

@@ -1,5 +1,6 @@
using System;
using Umbraco.Core.Logging;
using Umbraco.Core.Strings;
namespace Umbraco.Core.Composing
{
@@ -42,6 +43,7 @@ namespace Umbraco.Core.Composing
#region Getters
public static ILogger Logger
=> _logger ?? (_logger = _factory?.TryGetInstance<ILogger>() ?? throw new Exception("TODO Fix")); //?? new DebugDiagnosticsLogger(new MessageTemplates()));

View File

@@ -27,19 +27,12 @@ namespace Umbraco.Core.Composing
/// <param name="logger">A logger.</param>
/// <param name="runtimeState">The runtime state.</param>
/// <param name="configs">Optional configs.</param>
public Composition(IRegister register, TypeLoader typeLoader, IProfilingLogger logger, IRuntimeState runtimeState, Configs configs = null)
public Composition(IRegister register, TypeLoader typeLoader, IProfilingLogger logger, IRuntimeState runtimeState, Configs configs)
{
_register = register;
TypeLoader = typeLoader;
Logger = logger;
RuntimeState = runtimeState;
if (configs == null)
{
configs = new Configs();
configs.AddCoreConfigs();
}
Configs = configs;
}

View File

@@ -0,0 +1,14 @@
using System.Configuration;
using Umbraco.Core.Configuration;
namespace Umbraco.Core.Composing
{
public class ConfigsFactory : IConfigsFactory
{
public Configs Create() {
var configs = new Configs(section => ConfigurationManager.GetSection(section));
configs.AddCoreConfigs();
return configs;
}
}
}

View File

@@ -93,11 +93,11 @@ namespace Umbraco.Core.Composing
/// <para>Unlocks <see cref="Configs"/> so that it is possible to add configurations
/// directly to <see cref="Current"/> without having to wire composition.</para>
/// </remarks>
public static void UnlockConfigs()
public static void UnlockConfigs(IConfigsFactory configsFactory)
{
if (_factory != null)
throw new InvalidOperationException("Cannot unlock configs when a factory has been set.");
_configs = new Configs();
_configs = configsFactory.Create();
}
internal static event EventHandler Resetted;

View File

@@ -0,0 +1,9 @@
using Umbraco.Core.Configuration;
namespace Umbraco.Core.Composing
{
public interface IConfigsFactory
{
Configs Create();
}
}

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Web;
using System.Web.Hosting;
@@ -345,8 +346,8 @@ namespace Umbraco.Core.Runtime
/// </summary>
protected virtual Configs GetConfigs()
{
var configs = new Configs();
configs.AddCoreConfigs();
var configs = new ConfigsFactory().Create();
return configs;
}

View File

@@ -158,7 +158,9 @@
<Compile Include="Composing\ComposeBeforeAttribute.cs" />
<Compile Include="Composing\Composers.cs" />
<Compile Include="Composing\Composition.cs" />
<Compile Include="Composing\ConfigsFactory.cs" />
<Compile Include="Composing\IComposer.cs" />
<Compile Include="Composing\IConfigsFactory.cs" />
<Compile Include="Composing\RegisterFactory.cs" />
<Compile Include="CompositionExtensions.cs" />
<Compile Include="Composing\ICoreComposer.cs" />
@@ -254,6 +256,7 @@
<Compile Include="Models\Packaging\PackageDefinition.cs" />
<Compile Include="Models\Property.cs" />
<Compile Include="Models\PropertyCollection.cs" />
<Compile Include="Models\PropertyType.cs" />
<Compile Include="Models\PublicAccessEntry.cs" />
<Compile Include="Migrations\Upgrade\V_8_0_0\FixLanguageIsoCodeLength.cs" />
<Compile Include="Models\CultureImpact.cs" />
@@ -316,7 +319,6 @@
<Compile Include="Configuration\CaseInsensitiveEnumConfigConverter.cs" />
<Compile Include="Configuration\CommaDelimitedConfigurationElement.cs" />
<Compile Include="ConfigsExtensions.cs" />
<Compile Include="Configuration\Configs.cs" />
<Compile Include="Configuration\CoreDebug.cs" />
<Compile Include="Configuration\GlobalSettings.cs" />
<Compile Include="Configuration\GlobalSettingsExtensions.cs" />
@@ -361,7 +363,6 @@
<Compile Include="Configuration\UmbracoSettings\UmbracoSettingsSection.cs" />
<Compile Include="Configuration\UmbracoSettings\UrlReplacingElement.cs" />
<Compile Include="Configuration\UmbracoSettings\WebRoutingElement.cs" />
<Compile Include="RegisterExtensions.cs" />
<Compile Include="ContentVariationExtensions.cs" />
<Compile Include="Deploy\IDataTypeConfigurationConnector.cs" />
<Compile Include="GuidUtils.cs" />
@@ -596,7 +597,6 @@
<Compile Include="Models\Packaging\PreInstallWarnings.cs" />
<Compile Include="Models\PropertyGroup.cs" />
<Compile Include="Models\PropertyGroupCollection.cs" />
<Compile Include="Models\PropertyType.cs" />
<Compile Include="Models\PropertyTypeCollection.cs" />
<Compile Include="Models\PublishedContent\NoopPublishedModelFactory.cs" />
<Compile Include="Models\PublishedContent\PublishedContentTypeFactory.cs" />

View File

@@ -25,7 +25,7 @@ namespace Umbraco.Tests.Cache.DistributedCache
{
var register = RegisterFactory.Create();
var composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.RegisterUnique<IServerRegistrar>(_ => new TestServerRegistrar());
composition.RegisterUnique<IServerMessenger>(_ => new TestServerMessenger());

View File

@@ -7,6 +7,7 @@ using Umbraco.Core;
using Umbraco.Core.Cache;
using Umbraco.Core.Compose;
using Umbraco.Core.Composing;
using Umbraco.Core.Configuration;
using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Persistence;
@@ -23,6 +24,7 @@ namespace Umbraco.Tests.Components
private static readonly List<Type> Composed = new List<Type>();
private static readonly List<Type> Initialized = new List<Type>();
private static readonly List<Type> Terminated = new List<Type>();
private static readonly Configs Configs = new ConfigsFactory().Create();
private static IFactory MockFactory(Action<Mock<IFactory>> setup = null)
{
@@ -65,7 +67,7 @@ namespace Umbraco.Tests.Components
public void Boot1A()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), new ConfigsFactory().Create());
var types = TypeArray<Composer1, Composer2, Composer3, Composer4>();
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -104,7 +106,7 @@ namespace Umbraco.Tests.Components
public void Boot1B()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
var types = TypeArray<Composer1, Composer2, Composer3, Composer4>();
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -120,7 +122,7 @@ namespace Umbraco.Tests.Components
public void Boot2()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), new ConfigsFactory().Create());
var types = TypeArray<Composer20, Composer21>();
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -135,7 +137,7 @@ namespace Umbraco.Tests.Components
public void Boot3()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), new ConfigsFactory().Create());
var types = TypeArray<Composer22, Composer24, Composer25>();
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -152,7 +154,7 @@ namespace Umbraco.Tests.Components
public void BrokenRequire()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), new ConfigsFactory().Create());
var types = TypeArray<Composer1, Composer2, Composer3>();
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -175,7 +177,7 @@ namespace Umbraco.Tests.Components
public void BrokenRequired()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), new ConfigsFactory().Create());
var types = TypeArray<Composer2, Composer4, Composer13>();
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -210,7 +212,7 @@ namespace Umbraco.Tests.Components
throw new NotSupportedException(type.FullName);
});
});
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), new ConfigsFactory().Create());
var types = new[] { typeof(Composer1), typeof(Composer5), typeof(Composer5a) };
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -236,7 +238,7 @@ namespace Umbraco.Tests.Components
public void Requires1()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), new ConfigsFactory().Create());
var types = new[] { typeof(Composer6), typeof(Composer7), typeof(Composer8) };
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -251,7 +253,7 @@ namespace Umbraco.Tests.Components
public void Requires2A()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), Configs);
var types = new[] { typeof(Composer9), typeof(Composer2), typeof(Composer4) };
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -268,7 +270,7 @@ namespace Umbraco.Tests.Components
{
var register = MockRegister();
var factory = MockFactory();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Run), Configs);
var types = new[] { typeof(Composer9), typeof(Composer2), typeof(Composer4) };
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -287,7 +289,7 @@ namespace Umbraco.Tests.Components
public void WeakDependencies()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), Configs);
var types = new[] { typeof(Composer10) };
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -326,7 +328,7 @@ namespace Umbraco.Tests.Components
public void DisableMissing()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), Configs);
var types = new[] { typeof(Composer6), typeof(Composer8) }; // 8 disables 7 which is not in the list
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -341,7 +343,7 @@ namespace Umbraco.Tests.Components
public void AttributesPriorities()
{
var register = MockRegister();
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown));
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), Configs);
var types = new[] { typeof(Composer26) }; // 26 disabled by assembly attribute
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());
@@ -364,7 +366,7 @@ namespace Umbraco.Tests.Components
var typeLoader = new TypeLoader(AppCaches.Disabled.RuntimeCache, IOHelper.MapPath("~/App_Data/TEMP"), Mock.Of<IProfilingLogger>());
var register = MockRegister();
var composition = new Composition(register, typeLoader, Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(register, typeLoader, Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Run), Configs);
var types = typeLoader.GetTypes<IComposer>().Where(x => x.FullName.StartsWith("Umbraco.Core.") || x.FullName.StartsWith("Umbraco.Web"));
var composers = new Composers(composition, types, Mock.Of<IProfilingLogger>());

View File

@@ -21,7 +21,7 @@ namespace Umbraco.Tests.Composing
Current.Reset();
var register = RegisterFactory.Create();
_composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
_composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
}
[TearDown]

View File

@@ -37,7 +37,7 @@ namespace Umbraco.Tests.Composing
var logger = new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>());
var typeLoader = new TypeLoader(Mock.Of<IAppPolicyCache>(), IOHelper.MapPath("~/App_Data/TEMP"), logger);
var composition = new Composition(mockedRegister, typeLoader, logger, Mock.Of<IRuntimeState>());
var composition = new Composition(mockedRegister, typeLoader, logger, Mock.Of<IRuntimeState>(), new ConfigsFactory().Create());
// create the factory, ensure it is the mocked factory
var factory = composition.CreateFactory();

View File

@@ -40,7 +40,7 @@ namespace Umbraco.Tests.Composing
public void LazyCollectionBuilderHandlesTypes()
{
var container = CreateRegister();
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.WithCollectionBuilder<TestCollectionBuilder>()
.Add<TransientObject3>()
@@ -66,7 +66,7 @@ namespace Umbraco.Tests.Composing
public void LazyCollectionBuilderHandlesProducers()
{
var container = CreateRegister();
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.WithCollectionBuilder<TestCollectionBuilder>()
.Add(() => new[] { typeof(TransientObject3), typeof(TransientObject2) })
@@ -91,7 +91,7 @@ namespace Umbraco.Tests.Composing
public void LazyCollectionBuilderHandlesTypesAndProducers()
{
var container = CreateRegister();
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.WithCollectionBuilder<TestCollectionBuilder>()
.Add<TransientObject3>()
@@ -117,7 +117,7 @@ namespace Umbraco.Tests.Composing
public void LazyCollectionBuilderThrowsOnIllegalTypes()
{
var container = CreateRegister();
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.WithCollectionBuilder<TestCollectionBuilder>()
.Add<TransientObject3>()
@@ -139,7 +139,7 @@ namespace Umbraco.Tests.Composing
public void LazyCollectionBuilderCanExcludeTypes()
{
var container = CreateRegister();
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.WithCollectionBuilder<TestCollectionBuilder>()
.Add<TransientObject3>()

View File

@@ -19,8 +19,8 @@ namespace Umbraco.Tests.Composing
public void PackageActionCollectionBuilderWorks()
{
var container = RegisterFactory.Create();
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.WithCollectionBuilder<PackageActionCollectionBuilder>()
.Add(() => TypeLoader.GetPackageActions());

View File

@@ -28,7 +28,7 @@ namespace Umbraco.Tests.IO
{
_register = RegisterFactory.Create();
var composition = new Composition(_register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(_register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.Register(_ => Mock.Of<ILogger>());
composition.Register(_ => Mock.Of<IDataTypeService>());

View File

@@ -23,7 +23,7 @@ namespace Umbraco.Tests.Macros
//Current.ApplicationContext = new ApplicationContext(cacheHelper, new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>()));
Current.Reset();
Current.UnlockConfigs();
Current.UnlockConfigs(new ConfigsFactory());
Current.Configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
}

View File

@@ -15,7 +15,7 @@ namespace Umbraco.Tests.Models
public void Init()
{
Current.Reset();
Current.UnlockConfigs();
Current.UnlockConfigs(new ConfigsFactory());
Current.Configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
}

View File

@@ -17,7 +17,7 @@ namespace Umbraco.Tests.Models
public void Setup()
{
Current.Reset();
Current.UnlockConfigs();
Current.UnlockConfigs(new ConfigsFactory());
Current.Configs.Add(SettingsForTests.GetDefaultGlobalSettings);
Current.Configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
}

View File

@@ -16,7 +16,7 @@ namespace Umbraco.Tests.Models
public void Setup()
{
Current.Reset();
Current.UnlockConfigs();
Current.UnlockConfigs(new ConfigsFactory());
Current.Configs.Add(SettingsForTests.GetDefaultGlobalSettings);
}

View File

@@ -28,7 +28,7 @@ namespace Umbraco.Tests.Models
Current.Reset();
var configs = new Configs();
var configs = new ConfigsFactory().Create();
configs.Add(SettingsForTests.GetDefaultGlobalSettings);
configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
@@ -75,7 +75,7 @@ namespace Umbraco.Tests.Models
// 1. if exact is set to true: culture cannot be null when the ContentVariation.Culture flag is set
// 2. if wildcards is set to false: fail when "*" is passed in as either culture or segment.
// 3. ContentVariation flag is ignored when wildcards are used.
// 4. Empty string is considered the same as null
// 4. Empty string is considered the same as null
#region Nothing
@@ -141,7 +141,7 @@ namespace Umbraco.Tests.Models
#endregion
#region CultureAndSegment
Assert4B(ContentVariation.CultureAndSegment, null, null, false, true, false, true);
Assert4B(ContentVariation.CultureAndSegment, null, "", false, true, false, true);
Assert4B(ContentVariation.CultureAndSegment, null, "*", false, false, false, true);
@@ -163,7 +163,7 @@ namespace Umbraco.Tests.Models
}
/// <summary>
/// Asserts the result of <see cref="ContentVariationExtensions.ValidateVariation(ContentVariation, string, string, bool, bool, bool)"/>
/// Asserts the result of <see cref="ContentVariationExtensions.ValidateVariation(ContentVariation, string, string, bool, bool, bool)"/>
/// </summary>
/// <param name="variation"></param>
/// <param name="culture"></param>

View File

@@ -70,7 +70,7 @@ namespace Umbraco.Tests.PropertyEditors
try
{
var container = RegisterFactory.Create();
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(container, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.WithCollectionBuilder<PropertyValueConverterCollectionBuilder>();

View File

@@ -24,7 +24,7 @@ namespace Umbraco.Tests.PropertyEditors
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
var register = RegisterFactory.Create();
var composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
register.Register<IShortStringHelper>(_
=> new DefaultShortStringHelper(new DefaultShortStringHelperConfig().WithDefault(SettingsForTests.GetDefaultUmbracoSettings())));

View File

@@ -178,7 +178,7 @@ namespace Umbraco.Tests.Published
Current.Reset();
var register = RegisterFactory.Create();
var composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.WithCollectionBuilder<PropertyValueConverterCollectionBuilder>()
.Append<SimpleConverter3A>()

View File

@@ -54,7 +54,7 @@ namespace Umbraco.Tests.PublishedContent
var factory = Mock.Of<IFactory>();
Current.Factory = factory;
var configs = new Configs();
var configs = new ConfigsFactory().Create();
Mock.Get(factory).Setup(x => x.GetInstance(typeof(Configs))).Returns(configs);
var globalSettings = new GlobalSettings();
configs.Add(SettingsForTests.GenerateMockUmbracoSettings);
@@ -1114,7 +1114,7 @@ namespace Umbraco.Tests.PublishedContent
_snapshotService.Notify(new[]
{
new ContentCacheRefresher.JsonPayload(1, Guid.Empty, TreeChangeTypes.RefreshNode)
new ContentCacheRefresher.JsonPayload(1, Guid.Empty, TreeChangeTypes.RefreshNode)
}, out _, out _);
Assert.AreEqual(2, contentStore.Test.LiveGen);
@@ -1134,7 +1134,7 @@ namespace Umbraco.Tests.PublishedContent
/// 2) Save and publish it
/// 3) Publish it with descendants
/// 4) Repeat steps 2 and 3
///
///
/// Which has caused an exception. To replicate this test:
/// 1) RefreshBranch with kits for a branch where the top most node is unpublished
/// 2) RefreshBranch with kits for the branch where the top most node is published
@@ -1162,7 +1162,7 @@ namespace Umbraco.Tests.PublishedContent
//children of 1
yield return CreateInvariantKit(20, 1, 1, paths);
yield return CreateInvariantKit(30, 1, 2, paths);
yield return CreateInvariantKit(30, 1, 2, paths);
yield return CreateInvariantKit(40, 1, 3, paths);
}
@@ -1199,12 +1199,12 @@ namespace Umbraco.Tests.PublishedContent
var (gen, contentNode) = contentStore.Test.GetValues(1)[0];
Assert.AreEqual(assertGen, gen);
//even when unpublishing/re-publishing/etc... the linked list is always maintained
AssertLinkedNode(contentNode, 100, 2, 3, 20, 40);
AssertLinkedNode(contentNode, 100, 2, 3, 20, 40);
}
//unpublish the root
ChangePublishFlagOfRoot(false, 2, TreeChangeTypes.RefreshBranch);
//publish the root (since it's not published, it will cause a RefreshBranch)
ChangePublishFlagOfRoot(true, 3, TreeChangeTypes.RefreshBranch);

View File

@@ -49,7 +49,7 @@ namespace Umbraco.Tests.PublishedContent
var factory = Mock.Of<IFactory>();
Current.Factory = factory;
var configs = new Configs();
var configs = new ConfigsFactory().Create();
Mock.Get(factory).Setup(x => x.GetInstance(typeof(Configs))).Returns(configs);
var globalSettings = new GlobalSettings();
configs.Add(SettingsForTests.GenerateMockUmbracoSettings);

View File

@@ -104,7 +104,7 @@ namespace Umbraco.Tests.Runtimes
protected override Configs GetConfigs()
{
var configs = new Configs();
var configs = new ConfigsFactory().Create();
configs.Add(SettingsForTests.GetDefaultGlobalSettings);
configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
return configs;

View File

@@ -64,10 +64,11 @@ namespace Umbraco.Tests.Runtimes
var typeLoader = new TypeLoader(appCaches.RuntimeCache, IOHelper.MapPath("~/App_Data/TEMP"), profilingLogger);
var mainDom = new SimpleMainDom();
var runtimeState = new RuntimeState(logger, null, null, new Lazy<IMainDom>(() => mainDom), new Lazy<IServerRegistrar>(() => factory.GetInstance<IServerRegistrar>()));
var configs = new ConfigsFactory().Create();
// create the register and the composition
var register = RegisterFactory.Create();
var composition = new Composition(register, typeLoader, profilingLogger, runtimeState);
var composition = new Composition(register, typeLoader, profilingLogger, runtimeState, configs);
composition.RegisterEssentials(logger, profiler, profilingLogger, mainDom, appCaches, databaseFactory, typeLoader, runtimeState);
// create the core runtime and have it compose itself
@@ -254,10 +255,11 @@ namespace Umbraco.Tests.Runtimes
Mock.Get(runtimeState).Setup(x => x.Level).Returns(RuntimeLevel.Run);
var mainDom = Mock.Of<IMainDom>();
Mock.Get(mainDom).Setup(x => x.IsMainDom).Returns(true);
var configs = new ConfigsFactory().Create();
// create the register and the composition
var register = RegisterFactory.Create();
var composition = new Composition(register, typeLoader, profilingLogger, runtimeState);
var composition = new Composition(register, typeLoader, profilingLogger, runtimeState, configs);
composition.RegisterEssentials(logger, profiler, profilingLogger, mainDom, appCaches, databaseFactory, typeLoader, runtimeState);
// create the core runtime and have it compose itself

View File

@@ -32,7 +32,7 @@ namespace Umbraco.Tests.Scoping
var register = RegisterFactory.Create();
var composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(register, new TypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
_testObjects = new TestObjects(register);

View File

@@ -42,7 +42,7 @@ namespace Umbraco.Tests.TestHelpers
logger,
false);
var composition = new Composition(container, typeLoader, Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run));
var composition = new Composition(container, typeLoader, Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
composition.RegisterUnique<ILogger>(_ => Mock.Of<ILogger>());
composition.RegisterUnique<IProfiler>(_ => Mock.Of<IProfiler>());

View File

@@ -134,7 +134,7 @@ namespace Umbraco.Tests.Testing
var register = RegisterFactory.Create();
Composition = new Composition(register, typeLoader, proflogger, ComponentTests.MockRuntimeState(RuntimeLevel.Run));
Composition = new Composition(register, typeLoader, proflogger, ComponentTests.MockRuntimeState(RuntimeLevel.Run), new ConfigsFactory().Create());
Composition.RegisterUnique(typeLoader);
Composition.RegisterUnique(logger);