@@ -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";
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new instance of the configured container.
|
||||
|
||||
314
src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs
Normal file
314
src/Umbraco.Tests.UnitTests/TestHelpers/TestHelper.cs
Normal file
@@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// Common helper properties and methods useful to testing
|
||||
/// </summary>
|
||||
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<IDbProviderFactoryCreator>();
|
||||
|
||||
public override IBulkSqlInsertProvider BulkSqlInsertProvider { get; } = Mock.Of<IBulkSqlInsertProvider>();
|
||||
|
||||
public override IMarchal Marchal { get; } = Mock.Of<IMarchal>();
|
||||
|
||||
public override IBackOfficeInfo GetBackOfficeInfo()
|
||||
=> Mock.Of<IBackOfficeInfo>();
|
||||
|
||||
public override IHostingEnvironment GetHostingEnvironment()
|
||||
=> Mock.Of<IHostingEnvironment>();
|
||||
|
||||
public override IApplicationShutdownRegistry GetHostingEnvironmentLifetime()
|
||||
=> Mock.Of<IApplicationShutdownRegistry>();
|
||||
|
||||
public override IIpResolver GetIpResolver()
|
||||
=> Mock.Of<IIpResolver>();
|
||||
}
|
||||
|
||||
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();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the working directory of the test project.
|
||||
/// </summary>
|
||||
/// <value>The assembly directory.</value>
|
||||
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()));
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 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
|
||||
/// </summary>
|
||||
/// <param name="relativePath"></param>
|
||||
/// <returns></returns>
|
||||
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<string, string[]>
|
||||
{
|
||||
{ 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<IEnumerable, IEnumerable> 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<EditorBrowsableAttribute>(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<IEnumerable, IEnumerable> 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<IDataEditor>(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() ?? "<null>", actual?.ToString() ?? "<null>");
|
||||
}
|
||||
}
|
||||
|
||||
private static void AssertListsAreEqual(PropertyInfo property, IEnumerable expected, IEnumerable actual, Func<IEnumerable, IEnumerable> 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<IEntity>().ToList();
|
||||
return entities.Count > 0 ? (IEnumerable) entities.OrderBy(x => x.Id) : entities;
|
||||
};
|
||||
}
|
||||
|
||||
var expectedListEx = sorter(expected).Cast<object>().ToList();
|
||||
var actualListEx = sorter(actual).Cast<object>().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<AssertionException>(action, maxTries, waitMilliseconds);
|
||||
}
|
||||
|
||||
public static void Try(Action action, int maxTries = 5, int waitMilliseconds = 200)
|
||||
{
|
||||
Try<Exception>(action, maxTries, waitMilliseconds);
|
||||
}
|
||||
|
||||
public static void Try<T>(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();
|
||||
}
|
||||
}
|
||||
@@ -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<Type> Composed = new List<Type>();
|
||||
private static readonly IIOHelper IOHelper = TestHelper.IOHelper;
|
||||
private static readonly List<Type> Initialized = new List<Type>();
|
||||
private static readonly List<Type> Terminated = new List<Type>();
|
||||
|
||||
@@ -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<IMapperCollection>(() => new MapperCollection(Enumerable.Empty<BaseMapper>())), 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<IHostingEnvironment>());
|
||||
var coreDebug = new CoreDebugSettings();
|
||||
var mediaFileSystem = Mock.Of<IMediaFileSystem>();
|
||||
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<ITypeFinder>(), Mock.Of<IAppPolicyCache>(), new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), Mock.Of<IProfilingLogger>());
|
||||
}
|
||||
|
||||
public static IRuntimeState MockRuntimeState(RuntimeLevel level)
|
||||
{
|
||||
var runtimeState = Mock.Of<IRuntimeState>();
|
||||
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<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = TypeArray<Composer1, Composer2, Composer3, Composer4>();
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -114,7 +111,7 @@ namespace Umbraco.Tests.Components
|
||||
public void Boot1B()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(x=>x.Level == RuntimeLevel.Run), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = TypeArray<Composer1, Composer2, Composer3, Composer4>();
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -130,7 +127,7 @@ namespace Umbraco.Tests.Components
|
||||
public void Boot2()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = TypeArray<Composer20, Composer21>();
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -145,7 +142,7 @@ namespace Umbraco.Tests.Components
|
||||
public void Boot3()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = TypeArray<Composer22, Composer24, Composer25>();
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -162,7 +159,7 @@ namespace Umbraco.Tests.Components
|
||||
public void BrokenRequire()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = TypeArray<Composer1, Composer2, Composer3>();
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -185,7 +182,7 @@ namespace Umbraco.Tests.Components
|
||||
public void BrokenRequired()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = TypeArray<Composer2, Composer4, Composer13>();
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -221,7 +218,7 @@ namespace Umbraco.Tests.Components
|
||||
throw new NotSupportedException(type.FullName);
|
||||
});
|
||||
});
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = new[] { typeof(Composer1), typeof(Composer5), typeof(Composer5a) };
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -247,7 +244,7 @@ namespace Umbraco.Tests.Components
|
||||
public void Requires1()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = new[] { typeof(Composer6), typeof(Composer7), typeof(Composer8) };
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -262,7 +259,7 @@ namespace Umbraco.Tests.Components
|
||||
public void Requires2A()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = new[] { typeof(Composer9), typeof(Composer2), typeof(Composer4) };
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -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<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(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<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -299,7 +296,7 @@ namespace Umbraco.Tests.Components
|
||||
public void WeakDependencies()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var types = new[] { typeof(Composer10) };
|
||||
var composers = new Composers(composition, types, Enumerable.Empty<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -338,7 +335,7 @@ namespace Umbraco.Tests.Components
|
||||
public void DisableMissing()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), 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<Attribute>(), Mock.Of<IProfilingLogger>());
|
||||
@@ -353,7 +350,7 @@ namespace Umbraco.Tests.Components
|
||||
public void AttributesPriorities()
|
||||
{
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), MockRuntimeState(RuntimeLevel.Unknown), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, MockTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), 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<IProfilingLogger>());
|
||||
|
||||
var register = MockRegister();
|
||||
var composition = new Composition(register, typeLoader, Mock.Of<IProfilingLogger>(),
|
||||
MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
Mock.Of<IRuntimeState>(), IOHelper, AppCaches.NoCache);
|
||||
|
||||
var allComposers = typeLoader.GetTypes<IComposer>().ToList();
|
||||
var types = allComposers.Where(x => x.FullName.StartsWith("Umbraco.Core.") || x.FullName.StartsWith("Umbraco.Web")).ToList();
|
||||
@@ -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<IRegister>();
|
||||
// var factoryMock = new Mock<IFactory>();
|
||||
// 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<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
_composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void TearDown()
|
||||
{
|
||||
Current.Reset();
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -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<Assembly> AssembliesToScan
|
||||
=> new[]
|
||||
{
|
||||
@@ -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<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
composition.WithCollectionBuilder<TestCollectionBuilder>()
|
||||
.Add<TransientObject3>()
|
||||
@@ -67,7 +54,7 @@ namespace Umbraco.Tests.Composing
|
||||
public void LazyCollectionBuilderHandlesProducers()
|
||||
{
|
||||
var container = CreateRegister();
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
composition.WithCollectionBuilder<TestCollectionBuilder>()
|
||||
.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<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
composition.WithCollectionBuilder<TestCollectionBuilder>()
|
||||
.Add<TransientObject3>()
|
||||
@@ -118,7 +105,7 @@ namespace Umbraco.Tests.Composing
|
||||
public void LazyCollectionBuilderThrowsOnIllegalTypes()
|
||||
{
|
||||
var container = CreateRegister();
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
composition.WithCollectionBuilder<TestCollectionBuilder>()
|
||||
.Add<TransientObject3>()
|
||||
@@ -140,7 +127,7 @@ namespace Umbraco.Tests.Composing
|
||||
public void LazyCollectionBuilderCanExcludeTypes()
|
||||
{
|
||||
var container = CreateRegister();
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
composition.WithCollectionBuilder<TestCollectionBuilder>()
|
||||
.Add<TransientObject3>()
|
||||
@@ -22,7 +22,7 @@ namespace Umbraco.Tests.Composing
|
||||
{
|
||||
var container = TestHelper.GetRegister();
|
||||
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(container, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
var expectedPackageActions = TypeLoader.GetPackageActions();
|
||||
composition.WithCollectionBuilder<PackageActionCollectionBuilder>()
|
||||
@@ -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]
|
||||
@@ -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
|
||||
@@ -20,6 +20,8 @@
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.7.1" />
|
||||
<PackageReference Include="NUnit" Version="3.12.0" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
|
||||
<PackageReference Include="System.Data.Odbc" Version="4.7.0" />
|
||||
<PackageReference Include="System.Data.OleDb" Version="4.7.1" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -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<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(_register, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
composition.Register(_ => Mock.Of<ILogger>());
|
||||
composition.Register(_ => Mock.Of<IDataTypeService>());
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), Mock.Of<IIOHelper>(), AppCaches.NoCache);
|
||||
var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), Mock.Of<IIOHelper>(), AppCaches.NoCache);
|
||||
|
||||
composition.WithCollectionBuilder<PropertyValueConverterCollectionBuilder>()
|
||||
.Append<SimpleConverter3A>()
|
||||
|
||||
@@ -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<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(register, TestHelper.GetMockedTypeLoader(), Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
_testObjects = new TestObjects(register);
|
||||
|
||||
|
||||
@@ -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<IProfilingLogger>(), ComponentTests.MockRuntimeState(RuntimeLevel.Run), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
var composition = new Composition(container, typeLoader, Mock.Of<IProfilingLogger>(), Mock.Of<IRuntimeState>(), TestHelper.IOHelper, AppCaches.NoCache);
|
||||
|
||||
composition.RegisterUnique<ILogger>(_ => Mock.Of<ILogger>());
|
||||
composition.RegisterUnique<IProfiler>(_ => Mock.Of<IProfiler>());
|
||||
|
||||
@@ -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<UmbracoMapper>();
|
||||
protected IHttpContextAccessor HttpContextAccessor => Factory.GetInstance<IHttpContextAccessor>();
|
||||
protected IRuntimeState RuntimeState => ComponentTests.MockRuntimeState(RuntimeLevel.Run);
|
||||
protected IRuntimeState RuntimeState => MockRuntimeState(RuntimeLevel.Run);
|
||||
|
||||
protected static IRuntimeState MockRuntimeState(RuntimeLevel level)
|
||||
{
|
||||
var runtimeState = Mock.Of<IRuntimeState>();
|
||||
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);
|
||||
|
||||
@@ -118,9 +118,6 @@
|
||||
<Compile Include="Cache\DistributedCacheBinderTests.cs" />
|
||||
<Compile Include="Cache\RefresherTests.cs" />
|
||||
<Compile Include="Cache\SnapDictionaryTests.cs" />
|
||||
<Compile Include="Composing\CompositionTests.cs" />
|
||||
<Compile Include="Composing\ContainerConformingTests.cs" />
|
||||
<Compile Include="Components\ComponentTests.cs" />
|
||||
<Compile Include="LegacyXmlPublishedCache\ContentXmlDto.cs" />
|
||||
<Compile Include="LegacyXmlPublishedCache\PreviewXmlDto.cs" />
|
||||
<Compile Include="Logging\LogviewerTests.cs" />
|
||||
@@ -137,6 +134,7 @@
|
||||
<Compile Include="Published\ModelTypeTests.cs" />
|
||||
<Compile Include="Routing\BaseUrlProviderTest.cs" />
|
||||
<Compile Include="Routing\UrlProviderWithHideTopLevelNodeFromPathTests.cs" />
|
||||
<Compile Include="Scoping\ScopeEventDispatcherTests.cs" />
|
||||
<Compile Include="Security\BackOfficeOwinUserManagerTests.cs" />
|
||||
<Compile Include="Security\OwinDataProtectorTokenProviderTests.cs" />
|
||||
<Compile Include="Services\KeyValueServiceTests.cs" />
|
||||
@@ -183,7 +181,6 @@
|
||||
<Compile Include="Scoping\PassThroughEventDispatcherTests.cs" />
|
||||
<Compile Include="Scoping\ScopedRepositoryTests.cs" />
|
||||
<Compile Include="Scoping\ScopedXmlTests.cs" />
|
||||
<Compile Include="Scoping\ScopeEventDispatcherTests.cs" />
|
||||
<Compile Include="Scoping\ScopeFileSystemsTests.cs" />
|
||||
<Compile Include="Scoping\ScopedNuCacheTests.cs" />
|
||||
<Compile Include="Scoping\ScopeTests.cs" />
|
||||
@@ -231,7 +228,6 @@
|
||||
<Compile Include="Persistence\Repositories\DomainRepositoryTest.cs" />
|
||||
<Compile Include="Persistence\Repositories\PartialViewRepositoryTests.cs" />
|
||||
<Compile Include="Persistence\Repositories\PublicAccessRepositoryTest.cs" />
|
||||
<Compile Include="Composing\ComposingTestBase.cs" />
|
||||
<Compile Include="Routing\RoutesCacheTests.cs" />
|
||||
<Compile Include="Routing\UrlRoutingTestBase.cs" />
|
||||
<Compile Include="Services\ContentTypeServiceExtensionsTests.cs" />
|
||||
@@ -337,8 +333,6 @@
|
||||
<Compile Include="PublishedContent\PublishedContentMoreTests.cs" />
|
||||
<Compile Include="Publishing\PublishingStrategyTests.cs" />
|
||||
<Compile Include="Cache\PublishedCache\PublishedContentCacheTests.cs" />
|
||||
<Compile Include="Composing\LazyCollectionBuilderTests.cs" />
|
||||
<Compile Include="Composing\CollectionBuildersTests.cs" />
|
||||
<Compile Include="Routing\ContentFinderByAliasWithDomainsTests.cs" />
|
||||
<Compile Include="Routing\DomainsAndCulturesTests.cs" />
|
||||
<Compile Include="Routing\SiteDomainHelperTests.cs" />
|
||||
@@ -368,7 +362,6 @@
|
||||
<Compile Include="TestHelpers\BaseUsingSqlCeSyntax.cs" />
|
||||
<Compile Include="TestHelpers\BaseWebTest.cs" />
|
||||
<Compile Include="UmbracoExamine\EventsTest.cs" />
|
||||
<Compile Include="Composing\TypeHelperTests.cs" />
|
||||
<Compile Include="UmbracoExamine\ExamineBaseTest.cs" />
|
||||
<Compile Include="UmbracoExamine\IndexInitializer.cs" />
|
||||
<Compile Include="UmbracoExamine\IndexTest.cs" />
|
||||
@@ -380,9 +373,6 @@
|
||||
</Compile>
|
||||
<Compile Include="UmbracoExamine\ExamineDemoDataMediaService.cs" />
|
||||
<Compile Include="UmbracoExamine\ExamineDemoDataContentService.cs" />
|
||||
<Compile Include="Composing\PackageActionCollectionTests.cs" />
|
||||
<Compile Include="Composing\TypeLoaderExtensions.cs" />
|
||||
<Compile Include="Composing\TypeLoaderTests.cs" />
|
||||
<Compile Include="TestHelpers\Stubs\TestLastChanceFinder.cs" />
|
||||
<Compile Include="TestHelpers\TestHelper.cs" />
|
||||
<Compile Include="IO\AbstractFileSystemTests.cs" />
|
||||
|
||||
Reference in New Issue
Block a user