From ee4de08653d2f01f6ee7808d7691bc8f912231a5 Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Mon, 28 Sep 2020 15:43:28 +0200 Subject: [PATCH] Migrated more tests Signed-off-by: Bjarke Berg --- .../Composing/RegisterFactory.cs | 2 +- .../TestHelpers/TestHelper.cs | 314 ++++++++++++++++++ .../Components/ComponentTests.cs | 43 ++- .../Composing/CollectionBuildersTests.cs | 13 +- .../Composing/ComposingTestBase.cs | 9 +- .../Composing/CompositionTests.cs | 0 .../Composing/ContainerConformingTests.cs | 0 .../Composing/LazyCollectionBuilderTests.cs | 23 +- .../Composing/PackageActionCollectionTests.cs | 2 +- .../Composing/TypeHelperTests.cs | 12 +- .../Composing/TypeLoaderExtensions.cs | 0 .../Composing/TypeLoaderTests.cs | 5 - .../Umbraco.Tests.UnitTests.csproj | 2 + src/Umbraco.Tests/IO/FileSystemsTests.cs | 3 +- .../ImageProcessorImageUrlGeneratorTest.cs | 21 +- .../Published/ConvertersTests.cs | 3 +- .../Scoping/ScopeEventDispatcherTests.cs | 3 +- .../TestHelpers/BaseUsingSqlCeSyntax.cs | 4 +- src/Umbraco.Tests/Testing/UmbracoTestBase.cs | 11 +- src/Umbraco.Tests/Umbraco.Tests.csproj | 12 +- 20 files changed, 373 insertions(+), 109 deletions(-) create mode 100644 src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Components/ComponentTests.cs (91%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/CollectionBuildersTests.cs (96%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/ComposingTestBase.cs (87%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/CompositionTests.cs (100%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/ContainerConformingTests.cs (100%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/LazyCollectionBuilderTests.cs (87%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/PackageActionCollectionTests.cs (94%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/TypeHelperTests.cs (99%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/TypeLoaderExtensions.cs (100%) rename src/{Umbraco.Tests => Umbraco.Tests.UnitTests/Umbraco.Core}/Composing/TypeLoaderTests.cs (98%) diff --git a/src/Umbraco.Infrastructure/Composing/RegisterFactory.cs b/src/Umbraco.Infrastructure/Composing/RegisterFactory.cs index d6c0e74d75..e065852538 100644 --- a/src/Umbraco.Infrastructure/Composing/RegisterFactory.cs +++ b/src/Umbraco.Infrastructure/Composing/RegisterFactory.cs @@ -21,7 +21,7 @@ namespace Umbraco.Core.Composing // cannot use typeof().AssemblyQualifiedName on the web container - we don't reference it // a normal Umbraco site should run on the web container, but an app may run on the core one private const string CoreLightInjectContainerTypeName = "Umbraco.Core.Composing.LightInject.LightInjectContainer,Umbraco.Core"; - private const string WebLightInjectContainerTypeName = "Umbraco.Web.Composing.LightInject.LightInjectContainer,Umbraco.Web"; + private const string WebLightInjectContainerTypeName = "Umbraco.Core.Composing.LightInject.LightInjectContainer,Umbraco.Infrastructure"; /// /// Creates a new instance of the configured container. diff --git a/src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs b/src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs new file mode 100644 index 0000000000..a95f13562c --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs @@ -0,0 +1,314 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Threading; +using Moq; +using NUnit.Framework; +using Umbraco.Core; +using Umbraco.Core.Cache; +using Umbraco.Core.Composing; +using Umbraco.Core.Configuration; +using Umbraco.Core.Diagnostics; +using Umbraco.Core.Hosting; +using Umbraco.Core.IO; +using Umbraco.Core.Logging; +using Umbraco.Core.Models; +using Umbraco.Core.Models.Entities; +using Umbraco.Core.Models.PublishedContent; +using Umbraco.Net; +using Umbraco.Core.Persistence; +using Umbraco.Core.PropertyEditors; +using Umbraco.Core.Serialization; +using Umbraco.Core.Strings; +using Umbraco.Tests.Common; +using Umbraco.Web; +using Umbraco.Web.Routing; +using File = System.IO.File; +using Microsoft.Extensions.Options; +using Umbraco.Core.Configuration.Models; + +namespace Umbraco.Tests.TestHelpers +{ + /// + /// Common helper properties and methods useful to testing + /// + public static class TestHelper + { + private static readonly TestHelperInternal _testHelperInternal = new TestHelperInternal(); + private static IEmailSender _emailSender; + + private class TestHelperInternal : TestHelperBase + { + public TestHelperInternal() : base(typeof(TestHelperInternal).Assembly) + { + + } + + public override IDbProviderFactoryCreator DbProviderFactoryCreator { get; } = Mock.Of(); + + public override IBulkSqlInsertProvider BulkSqlInsertProvider { get; } = Mock.Of(); + + public override IMarchal Marchal { get; } = Mock.Of(); + + public override IBackOfficeInfo GetBackOfficeInfo() + => Mock.Of(); + + public override IHostingEnvironment GetHostingEnvironment() + => Mock.Of(); + + public override IApplicationShutdownRegistry GetHostingEnvironmentLifetime() + => Mock.Of(); + + public override IIpResolver GetIpResolver() + => Mock.Of(); + } + + public static ITypeFinder GetTypeFinder() => _testHelperInternal.GetTypeFinder(); + + public static TypeLoader GetMockedTypeLoader() => _testHelperInternal.GetMockedTypeLoader(); + + //public static Configs GetConfigs() => _testHelperInternal.GetConfigs(); + + public static IBackOfficeInfo GetBackOfficeInfo() => _testHelperInternal.GetBackOfficeInfo(); + + // public static IConfigsFactory GetConfigsFactory() => _testHelperInternal.GetConfigsFactory(); + + /// + /// Gets the working directory of the test project. + /// + /// The assembly directory. + public static string WorkingDirectory => _testHelperInternal.WorkingDirectory; + + public static IShortStringHelper ShortStringHelper => _testHelperInternal.ShortStringHelper; + public static IJsonSerializer JsonSerializer => _testHelperInternal.JsonSerializer; + public static IVariationContextAccessor VariationContextAccessor => _testHelperInternal.VariationContextAccessor; + public static IDbProviderFactoryCreator DbProviderFactoryCreator => _testHelperInternal.DbProviderFactoryCreator; + public static IBulkSqlInsertProvider BulkSqlInsertProvider => _testHelperInternal.BulkSqlInsertProvider; + public static IMarchal Marchal => _testHelperInternal.Marchal; + public static CoreDebugSettings CoreDebugSettings => _testHelperInternal.CoreDebugSettings; + + + public static IIOHelper IOHelper => _testHelperInternal.IOHelper; + public static IMainDom MainDom => _testHelperInternal.MainDom; + public static UriUtility UriUtility => _testHelperInternal.UriUtility; + + public static IEmailSender EmailSender { get; } = new EmailSender(Options.Create(new GlobalSettings())); + + + /// + /// Some test files are copied to the /bin (/bin/debug) on build, this is a utility to return their physical path based on a virtual path name + /// + /// + /// + public static string MapPathForTestFiles(string relativePath) => _testHelperInternal.MapPathForTestFiles(relativePath); + + public static void InitializeContentDirectories() + { + CreateDirectories(new[] { Constants.SystemDirectories.MvcViews, new GlobalSettings().UmbracoMediaPath, Constants.SystemDirectories.AppPlugins }); + } + + public static void CleanContentDirectories() + { + CleanDirectories(new[] { Constants.SystemDirectories.MvcViews, new GlobalSettings().UmbracoMediaPath }); + } + + public static void CreateDirectories(string[] directories) + { + foreach (var directory in directories) + { + var directoryInfo = new DirectoryInfo(IOHelper.MapPath(directory)); + if (directoryInfo.Exists == false) + Directory.CreateDirectory(IOHelper.MapPath(directory)); + } + } + + public static void CleanDirectories(string[] directories) + { + var preserves = new Dictionary + { + { Constants.SystemDirectories.MvcViews, new[] {"dummy.txt"} } + }; + foreach (var directory in directories) + { + var directoryInfo = new DirectoryInfo(IOHelper.MapPath(directory)); + var preserve = preserves.ContainsKey(directory) ? preserves[directory] : null; + if (directoryInfo.Exists) + foreach (var x in directoryInfo.GetFiles().Where(x => preserve == null || preserve.Contains(x.Name) == false)) + x.Delete(); + } + } + + public static void CleanUmbracoSettingsConfig() + { + var currDir = new DirectoryInfo(WorkingDirectory); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (File.Exists(umbracoSettingsFile)) + File.Delete(umbracoSettingsFile); + } + + // TODO: Move to Assertions or AssertHelper + // FIXME: obsolete the dateTimeFormat thing and replace with dateDelta + public static void AssertPropertyValuesAreEqual(object actual, object expected, string dateTimeFormat = null, Func sorter = null, string[] ignoreProperties = null) + { + const int dateDeltaMilliseconds = 500; // .5s + + var properties = expected.GetType().GetProperties(); + foreach (var property in properties) + { + // ignore properties that are attributed with EditorBrowsableState.Never + var att = property.GetCustomAttribute(false); + if (att != null && att.State == EditorBrowsableState.Never) + continue; + + // ignore explicitely ignored properties + if (ignoreProperties != null && ignoreProperties.Contains(property.Name)) + continue; + + var actualValue = property.GetValue(actual, null); + var expectedValue = property.GetValue(expected, null); + + AssertAreEqual(property, expectedValue, actualValue, sorter, dateDeltaMilliseconds); + } + } + + private static void AssertAreEqual(PropertyInfo property, object expected, object actual, Func sorter = null, int dateDeltaMilliseconds = 0) + { + if (!(expected is string) && expected is IEnumerable) + { + // sort property collection by alias, not by property ids + // on members, built-in properties don't have ids (always zero) + if (expected is PropertyCollection) + sorter = e => ((PropertyCollection) e).OrderBy(x => x.Alias); + + // compare lists + AssertListsAreEqual(property, (IEnumerable) actual, (IEnumerable) expected, sorter, dateDeltaMilliseconds); + } + else if (expected is DateTime expectedDateTime) + { + // compare date & time with delta + var actualDateTime = (DateTime) actual; + var delta = (actualDateTime - expectedDateTime).TotalMilliseconds; + Assert.IsTrue(Math.Abs(delta) <= dateDeltaMilliseconds, "Property {0}.{1} does not match. Expected: {2} but was: {3}", property.DeclaringType.Name, property.Name, expected, actual); + } + else if (expected is Property expectedProperty) + { + // compare values + var actualProperty = (Property) actual; + var expectedPropertyValues = expectedProperty.Values.OrderBy(x => x.Culture).ThenBy(x => x.Segment).ToArray(); + var actualPropertyValues = actualProperty.Values.OrderBy(x => x.Culture).ThenBy(x => x.Segment).ToArray(); + if (expectedPropertyValues.Length != actualPropertyValues.Length) + Assert.Fail($"{property.DeclaringType.Name}.{property.Name}: Expected {expectedPropertyValues.Length} but got {actualPropertyValues.Length}."); + for (var i = 0; i < expectedPropertyValues.Length; i++) + { + Assert.AreEqual(expectedPropertyValues[i].EditedValue, actualPropertyValues[i].EditedValue, $"{property.DeclaringType.Name}.{property.Name}: Expected draft value \"{expectedPropertyValues[i].EditedValue}\" but got \"{actualPropertyValues[i].EditedValue}\"."); + Assert.AreEqual(expectedPropertyValues[i].PublishedValue, actualPropertyValues[i].PublishedValue, $"{property.DeclaringType.Name}.{property.Name}: Expected published value \"{expectedPropertyValues[i].EditedValue}\" but got \"{actualPropertyValues[i].EditedValue}\"."); + } + } + else if (expected is IDataEditor expectedEditor) + { + Assert.IsInstanceOf(actual); + var actualEditor = (IDataEditor) actual; + Assert.AreEqual(expectedEditor.Alias, actualEditor.Alias); + // what else shall we test? + } + else + { + // directly compare values + Assert.AreEqual(expected, actual, "Property {0}.{1} does not match. Expected: {2} but was: {3}", property.DeclaringType.Name, property.Name, + expected?.ToString() ?? "", actual?.ToString() ?? ""); + } + } + + private static void AssertListsAreEqual(PropertyInfo property, IEnumerable expected, IEnumerable actual, Func sorter = null, int dateDeltaMilliseconds = 0) + { + + + if (sorter == null) + { + // this is pretty hackerific but saves us some code to write + sorter = enumerable => + { + // semi-generic way of ensuring any collection of IEntity are sorted by Ids for comparison + var entities = enumerable.OfType().ToList(); + return entities.Count > 0 ? (IEnumerable) entities.OrderBy(x => x.Id) : entities; + }; + } + + var expectedListEx = sorter(expected).Cast().ToList(); + var actualListEx = sorter(actual).Cast().ToList(); + + if (actualListEx.Count != expectedListEx.Count) + Assert.Fail("Collection {0}.{1} does not match. Expected IEnumerable containing {2} elements but was IEnumerable containing {3} elements", property.PropertyType.Name, property.Name, expectedListEx.Count, actualListEx.Count); + + for (var i = 0; i < actualListEx.Count; i++) + AssertAreEqual(property, expectedListEx[i], actualListEx[i], sorter, dateDeltaMilliseconds); + } + + public static void DeleteDirectory(string path) + { + Try(() => + { + if (Directory.Exists(path) == false) return; + foreach (var file in Directory.EnumerateFiles(path, "*", SearchOption.AllDirectories)) + File.Delete(file); + }); + + Try(() => + { + if (Directory.Exists(path) == false) return; + Directory.Delete(path, true); + }); + } + + public static void TryAssert(Action action, int maxTries = 5, int waitMilliseconds = 200) + { + Try(action, maxTries, waitMilliseconds); + } + + public static void Try(Action action, int maxTries = 5, int waitMilliseconds = 200) + { + Try(action, maxTries, waitMilliseconds); + } + + public static void Try(Action action, int maxTries = 5, int waitMilliseconds = 200) + where T : Exception + { + var tries = 0; + while (true) + { + try + { + action(); + break; + } + catch (T) + { + if (tries++ > maxTries) + throw; + Thread.Sleep(waitMilliseconds); + } + } + } + + public static IUmbracoVersion GetUmbracoVersion() => _testHelperInternal.GetUmbracoVersion(); + + public static IRegister GetRegister() => _testHelperInternal.GetRegister(); + + public static IHostingEnvironment GetHostingEnvironment() => _testHelperInternal.GetHostingEnvironment(); + + public static ILoggingConfiguration GetLoggingConfiguration(IHostingEnvironment hostingEnv) => _testHelperInternal.GetLoggingConfiguration(hostingEnv); + + public static IApplicationShutdownRegistry GetHostingEnvironmentLifetime() => _testHelperInternal.GetHostingEnvironmentLifetime(); + + public static IIpResolver GetIpResolver() => _testHelperInternal.GetIpResolver(); + + public static IRequestCache GetRequestCache() => _testHelperInternal.GetRequestCache(); + + public static IPublishedUrlProvider GetPublishedUrlProvider() => _testHelperInternal.GetPublishedUrlProvider(); + } +} diff --git a/src/Umbraco.Tests/Components/ComponentTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Components/ComponentTests.cs similarity index 91% rename from src/Umbraco.Tests/Components/ComponentTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Components/ComponentTests.cs index 5bcde45681..79bd498967 100644 --- a/src/Umbraco.Tests/Components/ComponentTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Components/ComponentTests.cs @@ -10,6 +10,7 @@ using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Hosting; using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.Persistence; @@ -24,6 +25,7 @@ namespace Umbraco.Tests.Components public class ComponentTests { private static readonly List Composed = new List(); + private static readonly IIOHelper IOHelper = TestHelper.IOHelper; private static readonly List Initialized = new List(); private static readonly List Terminated = new List(); @@ -38,7 +40,7 @@ namespace Umbraco.Tests.Components var globalSettings = new GlobalSettings(); var connectionStrings = new ConnectionStrings(); var f = new UmbracoDatabaseFactory(logger, Options.Create(globalSettings), Options.Create(connectionStrings), new Lazy(() => new MapperCollection(Enumerable.Empty())), TestHelper.DbProviderFactoryCreator); - var fs = new FileSystems(mock.Object, logger, TestHelper.IOHelper, Options.Create(globalSettings), TestHelper.GetHostingEnvironment()); + var fs = new FileSystems(mock.Object, logger, IOHelper, Options.Create(globalSettings), Mock.Of()); var coreDebug = new CoreDebugSettings(); var mediaFileSystem = Mock.Of(); var p = new ScopeProvider(f, fs, Options.Create(coreDebug), mediaFileSystem, logger, typeFinder, NoAppCache.Instance); @@ -59,23 +61,18 @@ namespace Umbraco.Tests.Components private static TypeLoader MockTypeLoader() { - var ioHelper = TestHelper.IOHelper; + var ioHelper = IOHelper; return new TypeLoader(Mock.Of(), Mock.Of(), new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), Mock.Of()); } - public static IRuntimeState MockRuntimeState(RuntimeLevel level) - { - var runtimeState = Mock.Of(); - Mock.Get(runtimeState).Setup(x => x.Level).Returns(level); - return runtimeState; - } + [Test] public void Boot1A() { var register = MockRegister(); var typeLoader = MockTypeLoader(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = TypeArray(); var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -114,7 +111,7 @@ namespace Umbraco.Tests.Components public void Boot1B() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(x=>x.Level == RuntimeLevel.Run), IOHelper, AppCaches.NoCache); var types = TypeArray(); var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -130,7 +127,7 @@ namespace Umbraco.Tests.Components public void Boot2() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = TypeArray(); var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -145,7 +142,7 @@ namespace Umbraco.Tests.Components public void Boot3() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = TypeArray(); var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -162,7 +159,7 @@ namespace Umbraco.Tests.Components public void BrokenRequire() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = TypeArray(); var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -185,7 +182,7 @@ namespace Umbraco.Tests.Components public void BrokenRequired() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = TypeArray(); var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -221,7 +218,7 @@ namespace Umbraco.Tests.Components throw new NotSupportedException(type.FullName); }); }); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = new[] { typeof(Composer1), typeof(Composer5), typeof(Composer5a) }; var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -247,7 +244,7 @@ namespace Umbraco.Tests.Components public void Requires1() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = new[] { typeof(Composer6), typeof(Composer7), typeof(Composer8) }; var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -262,7 +259,7 @@ namespace Umbraco.Tests.Components public void Requires2A() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = new[] { typeof(Composer9), typeof(Composer2), typeof(Composer4) }; var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -280,7 +277,7 @@ namespace Umbraco.Tests.Components var register = MockRegister(); var typeLoader = MockTypeLoader(); var factory = MockFactory(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(x=>x.Level == RuntimeLevel.Run), IOHelper, AppCaches.NoCache); var types = new[] { typeof(Composer9), typeof(Composer2), typeof(Composer4) }; var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -299,7 +296,7 @@ namespace Umbraco.Tests.Components public void WeakDependencies() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = new[] { typeof(Composer10) }; var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -338,7 +335,7 @@ namespace Umbraco.Tests.Components public void DisableMissing() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = new[] { typeof(Composer6), typeof(Composer8) }; // 8 disables 7 which is not in the list var composers = new Composers(composition, types, Enumerable.Empty(), Mock.Of()); @@ -353,7 +350,7 @@ namespace Umbraco.Tests.Components public void AttributesPriorities() { var register = MockRegister(); - var composition = new Composition(register, MockTypeLoader(), Mock.Of(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, MockTypeLoader(), Mock.Of(), Mock.Of(), IOHelper, AppCaches.NoCache); var types = new[] { typeof(Composer26) }; var enableDisableAttributes = new[] { new DisableComposerAttribute(typeof(Composer26)) }; @@ -374,13 +371,13 @@ namespace Umbraco.Tests.Components [Test] public void AllComposers() { - var ioHelper = TestHelper.IOHelper; + var ioHelper = IOHelper; var typeFinder = TestHelper.GetTypeFinder(); var typeLoader = new TypeLoader(typeFinder, AppCaches.Disabled.RuntimeCache, new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), Mock.Of()); var register = MockRegister(); var composition = new Composition(register, typeLoader, Mock.Of(), - MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + Mock.Of(), IOHelper, AppCaches.NoCache); var allComposers = typeLoader.GetTypes().ToList(); var types = allComposers.Where(x => x.FullName.StartsWith("Umbraco.Core.") || x.FullName.StartsWith("Umbraco.Web")).ToList(); diff --git a/src/Umbraco.Tests/Composing/CollectionBuildersTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CollectionBuildersTests.cs similarity index 96% rename from src/Umbraco.Tests/Composing/CollectionBuildersTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CollectionBuildersTests.cs index 4986c3ac53..266aa64803 100644 --- a/src/Umbraco.Tests/Composing/CollectionBuildersTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CollectionBuildersTests.cs @@ -9,7 +9,6 @@ using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Tests.Components; using Umbraco.Tests.TestHelpers; -using Current = Umbraco.Web.Composing.Current; namespace Umbraco.Tests.Composing { @@ -21,16 +20,22 @@ namespace Umbraco.Tests.Composing [SetUp] public void Setup() { - Current.Reset(); + // var registerMock = new Mock(); + // var factoryMock = new Mock(); + // registerMock.Setup(x => x.CreateFactory()).Returns(factoryMock.Object); + // factoryMock.Setup(x => x.GetInstance(typeof(Resolved1))).Returns(new Resolved1()); + // factoryMock.Setup(x => x.GetInstance(typeof(Resolved2))).Returns(new Resolved2()); + // factoryMock.Setup(x => x.GetInstance(typeof(Resolved3))).Returns(new Resolved3()); + // factoryMock.Setup(x => x.GetInstance(typeof(Resolved4))).Returns(new Resolved4()); + var register = TestHelper.GetRegister(); - _composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + _composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); } [TearDown] public void TearDown() { - Current.Reset(); } [Test] diff --git a/src/Umbraco.Tests/Composing/ComposingTestBase.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/ComposingTestBase.cs similarity index 87% rename from src/Umbraco.Tests/Composing/ComposingTestBase.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/ComposingTestBase.cs index 1977a5dfc1..491122f5ad 100644 --- a/src/Umbraco.Tests/Composing/ComposingTestBase.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/ComposingTestBase.cs @@ -7,7 +7,6 @@ using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Tests.TestHelpers; -using Current = Umbraco.Web.Composing.Current; namespace Umbraco.Tests.Composing { @@ -26,13 +25,7 @@ namespace Umbraco.Tests.Composing var ioHelper = TestHelper.IOHelper; TypeLoader = new TypeLoader(typeFinder, NoAppCache.Instance, new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), ProfilingLogger, false, AssembliesToScan); } - - [TearDown] - public void TearDown() - { - Current.Reset(); - } - + protected virtual IEnumerable AssembliesToScan => new[] { diff --git a/src/Umbraco.Tests/Composing/CompositionTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CompositionTests.cs similarity index 100% rename from src/Umbraco.Tests/Composing/CompositionTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/CompositionTests.cs diff --git a/src/Umbraco.Tests/Composing/ContainerConformingTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/ContainerConformingTests.cs similarity index 100% rename from src/Umbraco.Tests/Composing/ContainerConformingTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/ContainerConformingTests.cs diff --git a/src/Umbraco.Tests/Composing/LazyCollectionBuilderTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/LazyCollectionBuilderTests.cs similarity index 87% rename from src/Umbraco.Tests/Composing/LazyCollectionBuilderTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/LazyCollectionBuilderTests.cs index c17e80a34a..7f0af94d1e 100644 --- a/src/Umbraco.Tests/Composing/LazyCollectionBuilderTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/LazyCollectionBuilderTests.cs @@ -9,25 +9,12 @@ using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Tests.Components; using Umbraco.Tests.TestHelpers; -using Current = Umbraco.Web.Composing.Current; namespace Umbraco.Tests.Composing { [TestFixture] public class LazyCollectionBuilderTests { - [SetUp] - public void Initialize() - { - Current.Reset(); - } - - [TearDown] - public void TearDown() - { - Current.Reset(); - } - private IRegister CreateRegister() { return TestHelper.GetRegister(); @@ -41,7 +28,7 @@ namespace Umbraco.Tests.Composing public void LazyCollectionBuilderHandlesTypes() { var container = CreateRegister(); - var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); composition.WithCollectionBuilder() .Add() @@ -67,7 +54,7 @@ namespace Umbraco.Tests.Composing public void LazyCollectionBuilderHandlesProducers() { var container = CreateRegister(); - var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); composition.WithCollectionBuilder() .Add(() => new[] { typeof(TransientObject3), typeof(TransientObject2) }) @@ -92,7 +79,7 @@ namespace Umbraco.Tests.Composing public void LazyCollectionBuilderHandlesTypesAndProducers() { var container = CreateRegister(); - var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); composition.WithCollectionBuilder() .Add() @@ -118,7 +105,7 @@ namespace Umbraco.Tests.Composing public void LazyCollectionBuilderThrowsOnIllegalTypes() { var container = CreateRegister(); - var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); composition.WithCollectionBuilder() .Add() @@ -140,7 +127,7 @@ namespace Umbraco.Tests.Composing public void LazyCollectionBuilderCanExcludeTypes() { var container = CreateRegister(); - var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); composition.WithCollectionBuilder() .Add() diff --git a/src/Umbraco.Tests/Composing/PackageActionCollectionTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/PackageActionCollectionTests.cs similarity index 94% rename from src/Umbraco.Tests/Composing/PackageActionCollectionTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/PackageActionCollectionTests.cs index 118eaab41a..4d1db92251 100644 --- a/src/Umbraco.Tests/Composing/PackageActionCollectionTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/PackageActionCollectionTests.cs @@ -22,7 +22,7 @@ namespace Umbraco.Tests.Composing { var container = TestHelper.GetRegister(); - var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); var expectedPackageActions = TypeLoader.GetPackageActions(); composition.WithCollectionBuilder() diff --git a/src/Umbraco.Tests/Composing/TypeHelperTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeHelperTests.cs similarity index 99% rename from src/Umbraco.Tests/Composing/TypeHelperTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeHelperTests.cs index 1f2477bf98..fb7f158804 100644 --- a/src/Umbraco.Tests/Composing/TypeHelperTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeHelperTests.cs @@ -45,14 +45,14 @@ namespace Umbraco.Tests.Composing typeof (OdbcCommand), typeof (SqlCommand)); Assert.IsFalse(t1.Success); - + var t2 = TypeHelper.GetLowestBaseType(typeof (OleDbCommand), typeof (OdbcCommand), typeof (SqlCommand), typeof (Component)); Assert.IsTrue(t2.Success); Assert.AreEqual(typeof(Component), t2.Result); - + var t3 = TypeHelper.GetLowestBaseType(typeof (OleDbCommand), typeof (OdbcCommand), typeof (SqlCommand), @@ -60,7 +60,7 @@ namespace Umbraco.Tests.Composing typeof (Component).BaseType); Assert.IsTrue(t3.Success); Assert.AreEqual(typeof(MarshalByRefObject), t3.Result); - + var t4 = TypeHelper.GetLowestBaseType(typeof(OleDbCommand), typeof(OdbcCommand), typeof(SqlCommand), @@ -68,17 +68,17 @@ namespace Umbraco.Tests.Composing typeof(Component).BaseType, typeof(int)); Assert.IsFalse(t4.Success); - + var t5 = TypeHelper.GetLowestBaseType(typeof(PropertyAliasDto)); Assert.IsTrue(t5.Success); Assert.AreEqual(typeof(PropertyAliasDto), t5.Result); - + //var t6 = TypeHelper.GetLowestBaseType(typeof (IApplicationEventHandler), // typeof (SchedulerComponent), // typeof(CacheRefresherComponent)); //Assert.IsTrue(t6.Success); //Assert.AreEqual(typeof(IApplicationEventHandler), t6.Result); - + } [Test] diff --git a/src/Umbraco.Tests/Composing/TypeLoaderExtensions.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderExtensions.cs similarity index 100% rename from src/Umbraco.Tests/Composing/TypeLoaderExtensions.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderExtensions.cs diff --git a/src/Umbraco.Tests/Composing/TypeLoaderTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs similarity index 98% rename from src/Umbraco.Tests/Composing/TypeLoaderTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs index 980878d6f2..1ff9020fc0 100644 --- a/src/Umbraco.Tests/Composing/TypeLoaderTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Core/Composing/TypeLoaderTests.cs @@ -8,8 +8,6 @@ using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.Composing; -using Umbraco.Core.Configuration; -using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.PropertyEditors; using Umbraco.Tests.TestHelpers; @@ -39,12 +37,9 @@ namespace Umbraco.Tests.Composing this.GetType().Assembly, typeof(System.Guid).Assembly, typeof(NUnit.Framework.Assert).Assembly, - typeof(Microsoft.CSharp.CSharpCodeProvider).Assembly, typeof(System.Xml.NameTable).Assembly, typeof(System.Configuration.GenericEnumConverter).Assembly, - typeof(System.Web.SiteMap).Assembly, //typeof(TabPage).Assembly, - typeof(System.Web.Mvc.ActionResult).Assembly, typeof(TypeFinder).Assembly, typeof(UmbracoContext).Assembly, typeof(CheckBoxListPropertyEditor).Assembly diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj index a0be703791..938eff3096 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj @@ -20,6 +20,8 @@ + + diff --git a/src/Umbraco.Tests/IO/FileSystemsTests.cs b/src/Umbraco.Tests/IO/FileSystemsTests.cs index ab8636cc18..67e92bd123 100644 --- a/src/Umbraco.Tests/IO/FileSystemsTests.cs +++ b/src/Umbraco.Tests/IO/FileSystemsTests.cs @@ -12,7 +12,6 @@ using Umbraco.Core.IO; using Umbraco.Core.IO.MediaPathSchemes; using Umbraco.Core.Logging; using Umbraco.Core.Services; -using Umbraco.Tests.Components; using Umbraco.Tests.TestHelpers; using Current = Umbraco.Web.Composing.Current; using FileSystems = Umbraco.Core.IO.FileSystems; @@ -30,7 +29,7 @@ namespace Umbraco.Tests.IO { _register = TestHelper.GetRegister(); - var composition = new Composition(_register, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(_register, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); composition.Register(_ => Mock.Of()); composition.Register(_ => Mock.Of()); diff --git a/src/Umbraco.Tests/Models/ImageProcessorImageUrlGeneratorTest.cs b/src/Umbraco.Tests/Models/ImageProcessorImageUrlGeneratorTest.cs index a5b059cd23..a44d240ea9 100644 --- a/src/Umbraco.Tests/Models/ImageProcessorImageUrlGeneratorTest.cs +++ b/src/Umbraco.Tests/Models/ImageProcessorImageUrlGeneratorTest.cs @@ -1,24 +1,5 @@ -using System; -using System.Globalization; -using Moq; -using Newtonsoft.Json; -using NUnit.Framework; -using Newtonsoft.Json.Linq; -using Umbraco.Core; -using Umbraco.Core.Composing; -using Umbraco.Core.Configuration.UmbracoSettings; -using Umbraco.Core.IO; -using Umbraco.Core.Logging; +using NUnit.Framework; using Umbraco.Core.Models; -using Umbraco.Core.Models.PublishedContent; -using Umbraco.Core.PropertyEditors; -using Umbraco.Core.PropertyEditors.ValueConverters; -using Umbraco.Core.Services; -using Umbraco.Tests.Components; -using Umbraco.Tests.TestHelpers; -using Umbraco.Web; -using Umbraco.Web.PropertyEditors; -using System.Text; using Umbraco.Infrastructure.Media; using Umbraco.Web.Models; diff --git a/src/Umbraco.Tests/Published/ConvertersTests.cs b/src/Umbraco.Tests/Published/ConvertersTests.cs index 21f7be9a54..c073b93b42 100644 --- a/src/Umbraco.Tests/Published/ConvertersTests.cs +++ b/src/Umbraco.Tests/Published/ConvertersTests.cs @@ -13,7 +13,6 @@ using Umbraco.Core.Models.PublishedContent; using Umbraco.Core.PropertyEditors; using Umbraco.Core.Services; using Umbraco.Core.Strings; -using Umbraco.Tests.Components; using Umbraco.Tests.PublishedContent; using Umbraco.Tests.TestHelpers; using Umbraco.Web.PublishedCache; @@ -31,7 +30,7 @@ namespace Umbraco.Tests.Published // Current.Reset(); var register = TestHelper.GetRegister(); - var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), Mock.Of(), AppCaches.NoCache); + var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), Mock.Of(), AppCaches.NoCache); composition.WithCollectionBuilder() .Append() diff --git a/src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs b/src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs index f5748e7dba..03e6ab336c 100644 --- a/src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs +++ b/src/Umbraco.Tests/Scoping/ScopeEventDispatcherTests.cs @@ -13,7 +13,6 @@ using Umbraco.Core.Models; using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Scoping; using Umbraco.Core.Services; -using Umbraco.Tests.Components; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Entities; using Current = Umbraco.Web.Composing.Current; @@ -35,7 +34,7 @@ namespace Umbraco.Tests.Scoping var register = TestHelper.GetRegister(); - var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); _testObjects = new TestObjects(register); diff --git a/src/Umbraco.Tests/TestHelpers/BaseUsingSqlCeSyntax.cs b/src/Umbraco.Tests/TestHelpers/BaseUsingSqlCeSyntax.cs index 3faea42f01..dac509b534 100644 --- a/src/Umbraco.Tests/TestHelpers/BaseUsingSqlCeSyntax.cs +++ b/src/Umbraco.Tests/TestHelpers/BaseUsingSqlCeSyntax.cs @@ -8,10 +8,8 @@ using Umbraco.Core.Cache; using Umbraco.Core.Composing; using Umbraco.Core.Logging; using Umbraco.Core.Persistence.Mappers; -using Umbraco.Core.Persistence.SqlSyntax; using Umbraco.Core.Persistence; using Umbraco.Persistance.SqlCe; -using Umbraco.Tests.Components; using Current = Umbraco.Web.Composing.Current; namespace Umbraco.Tests.TestHelpers @@ -45,7 +43,7 @@ namespace Umbraco.Tests.TestHelpers logger, false); - var composition = new Composition(container, typeLoader, Mock.Of(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + var composition = new Composition(container, typeLoader, Mock.Of(), Mock.Of(), TestHelper.IOHelper, AppCaches.NoCache); composition.RegisterUnique(_ => Mock.Of()); composition.RegisterUnique(_ => Mock.Of()); diff --git a/src/Umbraco.Tests/Testing/UmbracoTestBase.cs b/src/Umbraco.Tests/Testing/UmbracoTestBase.cs index 165da95e48..6283ad83e5 100644 --- a/src/Umbraco.Tests/Testing/UmbracoTestBase.cs +++ b/src/Umbraco.Tests/Testing/UmbracoTestBase.cs @@ -40,7 +40,6 @@ using Umbraco.Core.Services.Implement; using Umbraco.Core.Strings; using Umbraco.Net; using Umbraco.Tests.Common; -using Umbraco.Tests.Components; using Umbraco.Tests.TestHelpers; using Umbraco.Tests.TestHelpers.Stubs; using Umbraco.Web; @@ -151,8 +150,14 @@ namespace Umbraco.Tests.Testing protected UmbracoMapper Mapper => Factory.GetInstance(); protected IHttpContextAccessor HttpContextAccessor => Factory.GetInstance(); - protected IRuntimeState RuntimeState => ComponentTests.MockRuntimeState(RuntimeLevel.Run); + protected IRuntimeState RuntimeState => MockRuntimeState(RuntimeLevel.Run); + protected static IRuntimeState MockRuntimeState(RuntimeLevel level) + { + var runtimeState = Mock.Of(); + Mock.Get(runtimeState).Setup(x => x.Level).Returns(level); + return runtimeState; + } #endregion #region Setup @@ -190,7 +195,7 @@ namespace Umbraco.Tests.Testing - Composition = new Composition(register, typeLoader, proflogger, ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); + Composition = new Composition(register, typeLoader, proflogger, MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache); //TestHelper.GetConfigs().RegisterWith(register); diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 57d8900826..836d5bb135 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -118,9 +118,6 @@ - - - @@ -137,6 +134,7 @@ + @@ -183,7 +181,6 @@ - @@ -231,7 +228,6 @@ - @@ -337,8 +333,6 @@ - - @@ -368,7 +362,6 @@ - @@ -380,9 +373,6 @@ - - -