Removed IOHelper.Default, to prepare for injecting
This commit is contained in:
@@ -206,7 +206,7 @@ namespace Umbraco.Core.Composing
|
||||
public static IVariationContextAccessor VariationContextAccessor
|
||||
=> Factory.GetInstance<IVariationContextAccessor>();
|
||||
|
||||
public static readonly IIOHelper IOHelper = Umbraco.Core.IO.IOHelper.Default;
|
||||
public static IIOHelper IOHelper => new IOHelper();
|
||||
|
||||
public static IUmbracoVersion UmbracoVersion
|
||||
=> Factory.GetInstance<IUmbracoVersion>();
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System;
|
||||
using System.Net.Mail;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using Umbraco.Core.Composing;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.Events;
|
||||
|
||||
namespace Umbraco.Core
|
||||
|
||||
@@ -6,15 +6,11 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Hosting;
|
||||
using Umbraco.Core.Composing;
|
||||
|
||||
namespace Umbraco.Core.IO
|
||||
{
|
||||
public class IOHelper : IIOHelper
|
||||
{
|
||||
internal static IIOHelper Default { get; } = new IOHelper();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value forcing Umbraco to consider it is non-hosted.
|
||||
/// </summary>
|
||||
|
||||
@@ -956,15 +956,7 @@ namespace Umbraco.Core.Security
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the current request IP address for logging if there is one
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected string GetCurrentRequestIpAddress()
|
||||
{
|
||||
var httpContext = HttpContext.Current == null ? (HttpContextBase) null : new HttpContextWrapper(HttpContext.Current);
|
||||
return httpContext.GetCurrentRequestIpAddress();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,7 +376,6 @@
|
||||
<Compile Include="Events\UninstallPackageEventArgs.cs" />
|
||||
<Compile Include="Composing\LightInject\LightInjectException.cs" />
|
||||
<Compile Include="FileResources\Files.Designer.cs" />
|
||||
<Compile Include="HttpContextExtensions.cs" />
|
||||
<Compile Include="IO\FileSecurityException.cs" />
|
||||
<Compile Include="IO\FileSystemExtensions.cs" />
|
||||
<Compile Include="IO\FileSystems.cs" />
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace Umbraco.Tests.Components
|
||||
var logger = Mock.Of<ILogger>();
|
||||
var typeFinder = new TypeFinder(logger);
|
||||
var f = new UmbracoDatabaseFactory(logger, new Lazy<IMapperCollection>(() => new MapperCollection(Enumerable.Empty<BaseMapper>())), TestHelper.GetConfigs());
|
||||
var fs = new FileSystems(mock.Object, logger, IOHelper.Default, SettingsForTests.GenerateMockGlobalSettings());
|
||||
var fs = new FileSystems(mock.Object, logger, TestHelper.IOHelper, SettingsForTests.GenerateMockGlobalSettings());
|
||||
var p = new ScopeProvider(f, fs, logger, typeFinder);
|
||||
|
||||
mock.Setup(x => x.GetInstance(typeof (ILogger))).Returns(logger);
|
||||
@@ -56,7 +56,7 @@ namespace Umbraco.Tests.Components
|
||||
|
||||
private static TypeLoader MockTypeLoader()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
return new TypeLoader(ioHelper, Mock.Of<ITypeFinder>(), Mock.Of<IAppPolicyCache>(), new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), Mock.Of<IProfilingLogger>());
|
||||
}
|
||||
|
||||
@@ -367,7 +367,7 @@ namespace Umbraco.Tests.Components
|
||||
[Test]
|
||||
public void AllComposers()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
var typeFinder = new TypeFinder(Mock.Of<ILogger>());
|
||||
var typeLoader = new TypeLoader(ioHelper, typeFinder, AppCaches.Disabled.RuntimeCache, new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), Mock.Of<IProfilingLogger>());
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Umbraco.Tests.Composing
|
||||
ProfilingLogger = new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>());
|
||||
|
||||
var typeFinder = new TypeFinder(Mock.Of<ILogger>());
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
TypeLoader = new TypeLoader(ioHelper, typeFinder, NoAppCache.Instance, new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), ProfilingLogger, false, AssembliesToScan);
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace Umbraco.Tests.Composing
|
||||
|
||||
var logger = new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>());
|
||||
var typeFinder = new TypeFinder(Mock.Of<ILogger>());
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
var typeLoader = new TypeLoader(ioHelper, typeFinder, Mock.Of<IAppPolicyCache>(), new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), logger);
|
||||
var composition = new Composition(mockedRegister, typeLoader, logger, Mock.Of<IRuntimeState>(), TestHelper.GetConfigs());
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ namespace Umbraco.Tests.Composing
|
||||
{
|
||||
// this ensures it's reset
|
||||
var typeFinder = new TypeFinder(Mock.Of<ILogger>());
|
||||
_typeLoader = new TypeLoader(IOHelper.Default, typeFinder, NoAppCache.Instance,
|
||||
new DirectoryInfo(IOHelper.Default.MapPath("~/App_Data/TEMP")),
|
||||
_typeLoader = new TypeLoader(TestHelper.IOHelper, typeFinder, NoAppCache.Instance,
|
||||
new DirectoryInfo(TestHelper.IOHelper.MapPath("~/App_Data/TEMP")),
|
||||
new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>()), false,
|
||||
|
||||
// for testing, we'll specify which assemblies are scanned for the PluginTypeResolver
|
||||
|
||||
@@ -33,9 +33,9 @@ namespace Umbraco.Tests.IO
|
||||
composition.Register(_ => Mock.Of<ILogger>());
|
||||
composition.Register(_ => Mock.Of<IDataTypeService>());
|
||||
composition.Register(_ => Mock.Of<IContentSection>());
|
||||
composition.Register(_ => IOHelper.Default);
|
||||
composition.Register(_ => TestHelper.IOHelper);
|
||||
composition.RegisterUnique<IMediaPathScheme, UniqueMediaPathScheme>();
|
||||
composition.RegisterUnique(IOHelper.Default);
|
||||
composition.RegisterUnique(TestHelper.IOHelper);
|
||||
|
||||
composition.Configs.Add(SettingsForTests.GetDefaultGlobalSettings);
|
||||
composition.Configs.Add(SettingsForTests.GetDefaultUmbracoSettings);
|
||||
|
||||
@@ -11,22 +11,21 @@ namespace Umbraco.Tests.IO
|
||||
[TestFixture]
|
||||
public class IoHelperTests
|
||||
{
|
||||
private IIOHelper _ioHelper => IOHelper.Default;
|
||||
private IIOHelper _ioHelper => TestHelper.IOHelper;
|
||||
|
||||
[TestCase("~/Scripts", "/Scripts", null)]
|
||||
[TestCase("/Scripts", "/Scripts", null)]
|
||||
[TestCase("../Scripts", "/Scripts", typeof(ArgumentException))]
|
||||
public void IOHelper_ResolveUrl(string input, string expected, Type expectedExceptionType)
|
||||
{
|
||||
var ioHelper = new IOHelper();
|
||||
|
||||
if (expectedExceptionType != null)
|
||||
{
|
||||
Assert.Throws(expectedExceptionType, () =>ioHelper.ResolveUrl(input));
|
||||
Assert.Throws(expectedExceptionType, () =>_ioHelper.ResolveUrl(input));
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = ioHelper.ResolveUrl(input);
|
||||
var result = _ioHelper.ResolveUrl(input);
|
||||
Assert.AreEqual(expected, result);
|
||||
}
|
||||
}
|
||||
@@ -40,17 +39,17 @@ namespace Umbraco.Tests.IO
|
||||
//System.Diagnostics.Debugger.Break();
|
||||
var globalSettings = SettingsForTests.GenerateMockGlobalSettings();
|
||||
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(Constants.SystemDirectories.Bin, true), Current.IOHelper.MapPath(Constants.SystemDirectories.Bin, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(Constants.SystemDirectories.Config, true), Current.IOHelper.MapPath(Constants.SystemDirectories.Config, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(globalSettings.UmbracoCssPath, true), Current.IOHelper.MapPath(globalSettings.UmbracoCssPath, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(Constants.SystemDirectories.Data, true), Current.IOHelper.MapPath(Constants.SystemDirectories.Data, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(Constants.SystemDirectories.Install, true), Current.IOHelper.MapPath(Constants.SystemDirectories.Install, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(globalSettings.UmbracoMediaPath, true), Current.IOHelper.MapPath(globalSettings.UmbracoMediaPath, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(Constants.SystemDirectories.Packages, true), Current.IOHelper.MapPath(Constants.SystemDirectories.Packages, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(Constants.SystemDirectories.Preview, true), Current.IOHelper.MapPath(Constants.SystemDirectories.Preview, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(_ioHelper.Root, true), Current.IOHelper.MapPath(_ioHelper.Root, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(globalSettings.UmbracoScriptsPath, true), Current.IOHelper.MapPath(globalSettings.UmbracoScriptsPath, false));
|
||||
Assert.AreEqual(Current.IOHelper.MapPath(globalSettings.UmbracoPath, true), Current.IOHelper.MapPath(globalSettings.UmbracoPath, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(Constants.SystemDirectories.Bin, true), _ioHelper.MapPath(Constants.SystemDirectories.Bin, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(Constants.SystemDirectories.Config, true), _ioHelper.MapPath(Constants.SystemDirectories.Config, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(globalSettings.UmbracoCssPath, true), _ioHelper.MapPath(globalSettings.UmbracoCssPath, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(Constants.SystemDirectories.Data, true), _ioHelper.MapPath(Constants.SystemDirectories.Data, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(Constants.SystemDirectories.Install, true), _ioHelper.MapPath(Constants.SystemDirectories.Install, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(globalSettings.UmbracoMediaPath, true), _ioHelper.MapPath(globalSettings.UmbracoMediaPath, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(Constants.SystemDirectories.Packages, true), _ioHelper.MapPath(Constants.SystemDirectories.Packages, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(Constants.SystemDirectories.Preview, true), _ioHelper.MapPath(Constants.SystemDirectories.Preview, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(_ioHelper.Root, true), _ioHelper.MapPath(_ioHelper.Root, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(globalSettings.UmbracoScriptsPath, true), _ioHelper.MapPath(globalSettings.UmbracoScriptsPath, false));
|
||||
Assert.AreEqual(_ioHelper.MapPath(globalSettings.UmbracoPath, true), _ioHelper.MapPath(globalSettings.UmbracoPath, false));
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -4,6 +4,7 @@ using System.Text;
|
||||
using System.Threading;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
|
||||
|
||||
namespace Umbraco.Tests.IO
|
||||
@@ -14,7 +15,7 @@ namespace Umbraco.Tests.IO
|
||||
{
|
||||
public PhysicalFileSystemTests()
|
||||
: base(new PhysicalFileSystem(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "FileSysTests"),
|
||||
"/Media/", new IOHelper()))
|
||||
"/Media/", TestHelper.IOHelper))
|
||||
{ }
|
||||
|
||||
[SetUp]
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Umbraco.Tests.IO
|
||||
public void SetUp()
|
||||
{
|
||||
SafeCallContext.Clear();
|
||||
ClearFiles(IOHelper.Default);
|
||||
ClearFiles(TestHelper.IOHelper);
|
||||
FileSystems.ResetShadowId();
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Umbraco.Tests.IO
|
||||
public void TearDown()
|
||||
{
|
||||
SafeCallContext.Clear();
|
||||
ClearFiles(IOHelper.Default);
|
||||
ClearFiles(TestHelper.IOHelper);
|
||||
FileSystems.ResetShadowId();
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowDeleteDirectory()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -88,7 +88,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowDeleteDirectoryInDir()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -139,7 +139,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowDeleteFile()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -180,7 +180,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowDeleteFileInDir()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
|
||||
@@ -238,7 +238,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowCantCreateFile()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -259,7 +259,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowCreateFile()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -300,7 +300,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowCreateFileInDir()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -342,7 +342,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowAbort()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -366,7 +366,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void ShadowComplete()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -405,7 +405,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowScopeComplete()
|
||||
{
|
||||
var logger = Mock.Of<ILogger>();
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
var shadowfs = ioHelper.MapPath(Constants.SystemDirectories.TempData.EnsureEndsWith('/') + "ShadowFs");
|
||||
@@ -501,7 +501,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowScopeCompleteWithFileConflict()
|
||||
{
|
||||
var logger = Mock.Of<ILogger>();
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
var shadowfs = ioHelper.MapPath(Constants.SystemDirectories.TempData.EnsureEndsWith('/') + "ShadowFs");
|
||||
@@ -555,7 +555,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowScopeCompleteWithDirectoryConflict()
|
||||
{
|
||||
var logger = Mock.Of<ILogger>();
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
var shadowfs = ioHelper.MapPath(Constants.SystemDirectories.TempData.EnsureEndsWith('/') + "ShadowFs");
|
||||
@@ -625,7 +625,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void GetFilesReturnsChildrenOnly()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -649,7 +649,7 @@ namespace Umbraco.Tests.IO
|
||||
[Test]
|
||||
public void DeleteDirectoryAndFiles()
|
||||
{
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -672,7 +672,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowGetFiles()
|
||||
{
|
||||
// Arrange
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -706,7 +706,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowGetFilesUsingEmptyFilter()
|
||||
{
|
||||
// Arrange
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -743,7 +743,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowGetFilesUsingNullFilter()
|
||||
{
|
||||
// Arrange
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -777,7 +777,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowGetFilesUsingWildcardFilter()
|
||||
{
|
||||
// Arrange
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -814,7 +814,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowGetFilesUsingSingleCharacterFilter()
|
||||
{
|
||||
// Arrange
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -863,7 +863,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowGetFullPath()
|
||||
{
|
||||
// Arrange
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -899,7 +899,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowGetRelativePath()
|
||||
{
|
||||
// Arrange
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
@@ -940,7 +940,7 @@ namespace Umbraco.Tests.IO
|
||||
public void ShadowGetUrl()
|
||||
{
|
||||
// Arrange
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var path = ioHelper.MapPath("FileSysTests");
|
||||
Directory.CreateDirectory(path);
|
||||
|
||||
@@ -7,6 +7,7 @@ using Umbraco.Core;
|
||||
using Umbraco.Core.Composing;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Logging.Viewer;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
|
||||
namespace Umbraco.Tests.Logging
|
||||
{
|
||||
@@ -33,7 +34,7 @@ namespace Umbraco.Tests.Logging
|
||||
{
|
||||
//Create an example JSON log file to check results
|
||||
//As a one time setup for all tets in this class/fixture
|
||||
var ioHelper = new IOHelper();
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
|
||||
var exampleLogfilePath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"Logging\", _logfileName);
|
||||
_newLogfileDirPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"App_Data\Logs\");
|
||||
|
||||
@@ -7,6 +7,7 @@ using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Manifest;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Core.Models.Membership;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
using Umbraco.Web.Composing;
|
||||
|
||||
namespace Umbraco.Tests.Manifest
|
||||
@@ -69,7 +70,7 @@ namespace Umbraco.Tests.Manifest
|
||||
private void AssertDefinition(object source, bool expected, string[] show, IReadOnlyUserGroup[] groups)
|
||||
{
|
||||
var definition = JsonConvert.DeserializeObject<ManifestContentAppDefinition>("{" + (show.Length == 0 ? "" : " \"show\": [" + string.Join(",", show.Select(x => "\"" + x + "\"")) + "] ") + "}");
|
||||
var factory = new ManifestContentAppFactory(definition, IOHelper.Default);
|
||||
var factory = new ManifestContentAppFactory(definition, TestHelper.IOHelper);
|
||||
var app = factory.GetContentAppFor(source, groups);
|
||||
if (expected)
|
||||
Assert.IsNotNull(app);
|
||||
|
||||
@@ -15,6 +15,7 @@ using Umbraco.Core.Services;
|
||||
using Umbraco.Core.Dashboards;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Serialization;
|
||||
using Umbraco.Tests.TestHelpers;
|
||||
|
||||
namespace Umbraco.Tests.Manifest
|
||||
{
|
||||
@@ -31,7 +32,7 @@ namespace Umbraco.Tests.Manifest
|
||||
new RequiredValidator(Mock.Of<ILocalizedTextService>()),
|
||||
new RegexValidator(Mock.Of<ILocalizedTextService>(), null)
|
||||
};
|
||||
_parser = new ManifestParser(AppCaches.Disabled, new ManifestValueValidatorCollection(validators), new ManifestFilterCollection(Array.Empty<IManifestFilter>()), Mock.Of<ILogger>(), IOHelper.Default, Mock.Of<IDataTypeService>(), Mock.Of<ILocalizationService>(), new JsonNetSerializer());
|
||||
_parser = new ManifestParser(AppCaches.Disabled, new ManifestValueValidatorCollection(validators), new ManifestFilterCollection(Array.Empty<IManifestFilter>()), Mock.Of<ILogger>(), TestHelper.IOHelper, Mock.Of<IDataTypeService>(), Mock.Of<ILocalizationService>(), new JsonNetSerializer());
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Umbraco.Tests.Membership
|
||||
{
|
||||
var memberTypeServiceMock = new Mock<IMemberTypeService>();
|
||||
memberTypeServiceMock.Setup(x => x.GetDefault()).Returns("Blah");
|
||||
var provider = new MembersMembershipProvider(Mock.Of<IMembershipMemberService>(), memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment);
|
||||
var provider = new MembersMembershipProvider(Mock.Of<IMembershipMemberService>(), memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment, IpResolver);
|
||||
provider.Initialize("test", new NameValueCollection());
|
||||
|
||||
Assert.AreEqual("Blah", provider.DefaultMemberTypeAlias);
|
||||
@@ -34,7 +34,7 @@ namespace Umbraco.Tests.Membership
|
||||
{
|
||||
var memberTypeServiceMock = new Mock<IMemberTypeService>();
|
||||
memberTypeServiceMock.Setup(x => x.GetDefault()).Returns("Blah");
|
||||
var provider = new MembersMembershipProvider(Mock.Of<IMembershipMemberService>(), memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment);
|
||||
var provider = new MembersMembershipProvider(Mock.Of<IMembershipMemberService>(), memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment, IpResolver);
|
||||
provider.Initialize("test", new NameValueCollection { { "defaultMemberTypeAlias", "Hello" } });
|
||||
|
||||
Assert.AreEqual("Hello", provider.DefaultMemberTypeAlias);
|
||||
@@ -48,7 +48,7 @@ namespace Umbraco.Tests.Membership
|
||||
var membershipServiceMock = new Mock<IMembershipMemberService>();
|
||||
membershipServiceMock.Setup(service => service.Exists("test")).Returns(true);
|
||||
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment);
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment, IpResolver);
|
||||
provider.Initialize("test", new NameValueCollection());
|
||||
|
||||
MembershipCreateStatus status;
|
||||
@@ -65,7 +65,7 @@ namespace Umbraco.Tests.Membership
|
||||
var membershipServiceMock = new Mock<IMembershipMemberService>();
|
||||
membershipServiceMock.Setup(service => service.GetByEmail("test@test.com")).Returns(() => new Member("test", MockedContentTypes.CreateSimpleMemberType()));
|
||||
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment);
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment, IpResolver);
|
||||
provider.Initialize("test", new NameValueCollection { { "requiresUniqueEmail", "true" } });
|
||||
|
||||
MembershipCreateStatus status;
|
||||
@@ -95,7 +95,7 @@ namespace Umbraco.Tests.Membership
|
||||
createdMember = new Member("test", e, u, p, memberType, isApproved);
|
||||
})
|
||||
.Returns(() => createdMember);
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment);
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment, IpResolver);
|
||||
provider.Initialize("test", new NameValueCollection());
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ namespace Umbraco.Tests.Membership
|
||||
})
|
||||
.Returns(() => createdMember);
|
||||
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment);
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment, IpResolver);
|
||||
provider.Initialize("test", new NameValueCollection { { "passwordFormat", "Encrypted" } });
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ namespace Umbraco.Tests.Membership
|
||||
})
|
||||
.Returns(() => createdMember);
|
||||
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment);
|
||||
var provider = new MembersMembershipProvider(membershipServiceMock.Object, memberTypeServiceMock.Object, UmbracoVersion, HostingEnvironment, IpResolver);
|
||||
provider.Initialize("test", new NameValueCollection { { "passwordFormat", "Hashed" }, { "hashAlgorithmType", "HMACSHA256" } });
|
||||
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ namespace Umbraco.Tests.PublishedContent
|
||||
|
||||
var configs = TestHelper.GetConfigs();
|
||||
Mock.Get(factory).Setup(x => x.GetInstance(typeof(Configs))).Returns(configs);
|
||||
var globalSettings = new GlobalSettings(IOHelper.Default);
|
||||
var globalSettings = new GlobalSettings(TestHelper.IOHelper);
|
||||
var hostingEnvironment = Mock.Of<IHostingEnvironment>();
|
||||
configs.Add(SettingsForTests.GenerateMockUmbracoSettings);
|
||||
configs.Add<IGlobalSettings>(() => globalSettings);
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Umbraco.Tests.PublishedContent
|
||||
|
||||
var configs = TestHelper.GetConfigs();
|
||||
Mock.Get(factory).Setup(x => x.GetInstance(typeof(Configs))).Returns(configs);
|
||||
var globalSettings = new GlobalSettings(IOHelper.Default);
|
||||
var globalSettings = new GlobalSettings(TestHelper.IOHelper);
|
||||
configs.Add(SettingsForTests.GenerateMockUmbracoSettings);
|
||||
configs.Add<IGlobalSettings>(() => globalSettings);
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace Umbraco.Tests.Runtimes
|
||||
}
|
||||
|
||||
private static readonly DebugDiagnosticsLogger _logger = new DebugDiagnosticsLogger(new MessageTemplates());
|
||||
private static readonly IIOHelper _ioHelper = IOHelper.Default;
|
||||
private static readonly IIOHelper _ioHelper = TestHelper.IOHelper;
|
||||
private static readonly IProfiler _profiler = new TestProfiler();
|
||||
private static readonly Configs _configs = GetConfigs();
|
||||
private static readonly IGlobalSettings _globalSettings = _configs.Global();
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace Umbraco.Tests.Runtimes
|
||||
var appCaches = AppCaches.Disabled;
|
||||
var databaseFactory = new UmbracoDatabaseFactory(logger, new Lazy<IMapperCollection>(() => factory.GetInstance<IMapperCollection>()), TestHelper.GetConfigs());
|
||||
var typeFinder = new TypeFinder(logger);
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
var hostingEnvironment = Mock.Of<IHostingEnvironment>();
|
||||
var typeLoader = new TypeLoader(ioHelper, typeFinder, appCaches.RuntimeCache, new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), profilingLogger);
|
||||
var mainDom = new SimpleMainDom();
|
||||
@@ -256,7 +256,7 @@ namespace Umbraco.Tests.Runtimes
|
||||
var appCaches = AppCaches.Disabled;
|
||||
var databaseFactory = Mock.Of<IUmbracoDatabaseFactory>();
|
||||
var typeFinder = new TypeFinder(Mock.Of<ILogger>());
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
var typeLoader = new TypeLoader(ioHelper, typeFinder, appCaches.RuntimeCache, new DirectoryInfo(ioHelper.MapPath("~/App_Data/TEMP")), profilingLogger);
|
||||
var runtimeState = Mock.Of<IRuntimeState>();
|
||||
var hostingEnvironment = Mock.Of<IHostingEnvironment>();
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace Umbraco.Tests.Scoping
|
||||
|
||||
_testObjects = new TestObjects(register);
|
||||
|
||||
composition.RegisterUnique(factory => new FileSystems(factory, factory.TryGetInstance<ILogger>(), IOHelper.Default, SettingsForTests.GenerateMockGlobalSettings()));
|
||||
composition.RegisterUnique(factory => new FileSystems(factory, factory.TryGetInstance<ILogger>(), TestHelper.IOHelper, SettingsForTests.GenerateMockGlobalSettings()));
|
||||
composition.WithCollectionBuilder<MapperCollectionBuilder>();
|
||||
|
||||
composition.Configs.Add(SettingsForTests.GetDefaultGlobalSettings);
|
||||
|
||||
@@ -86,7 +86,7 @@ namespace Umbraco.Tests.Scoping
|
||||
[Test]
|
||||
public void MultiThread()
|
||||
{
|
||||
var physMediaFileSystem = new PhysicalFileSystem(IOHelper.MapPath("media"), "ignore", new IOHelper());
|
||||
var physMediaFileSystem = new PhysicalFileSystem(IOHelper.MapPath("media"), "ignore", IOHelper);
|
||||
var mediaFileSystem = Current.MediaFileSystem;
|
||||
|
||||
var scopeProvider = ScopeProvider;
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace Umbraco.Tests.Services
|
||||
base.SetUp();
|
||||
|
||||
// HACK: but we have no choice until we remove the SavePassword method from IMemberService
|
||||
var providerMock = new Mock<MembersMembershipProvider>(ServiceContext.MemberService, ServiceContext.MemberTypeService, TestHelper.GetUmbracoVersion(), TestHelper.GetHostingEnvironment()) { CallBase = true };
|
||||
var providerMock = new Mock<MembersMembershipProvider>(ServiceContext.MemberService, ServiceContext.MemberTypeService, TestHelper.GetUmbracoVersion(), TestHelper.GetHostingEnvironment(), new AspNetIpResolver()) { CallBase = true };
|
||||
providerMock.Setup(@base => @base.AllowManuallyChangingPassword).Returns(false);
|
||||
providerMock.Setup(@base => @base.PasswordFormat).Returns(MembershipPasswordFormat.Hashed);
|
||||
var provider = providerMock.Object;
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace Umbraco.Tests.TestHelpers
|
||||
|
||||
var container = TestHelper.GetRegister();
|
||||
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
var logger = new ProfilingLogger(Mock.Of<ILogger>(), Mock.Of<IProfiler>());
|
||||
var typeFinder = new TypeFinder(Mock.Of<ILogger>());
|
||||
var typeLoader = new TypeLoader(ioHelper, typeFinder, NoAppCache.Instance,
|
||||
|
||||
@@ -18,11 +18,10 @@ namespace Umbraco.Tests.TestHelpers
|
||||
settings.ConfigurationStatus == TestHelper.GetUmbracoVersion().SemanticVersion.ToSemanticString() &&
|
||||
settings.UseHttps == false &&
|
||||
settings.HideTopLevelNodeFromPath == false &&
|
||||
settings.Path == Current.IOHelper.ResolveUrl("~/umbraco") &&
|
||||
settings.Path == TestHelper.IOHelper.ResolveUrl("~/umbraco") &&
|
||||
settings.TimeOutInMinutes == 20 &&
|
||||
settings.DefaultUILanguage == "en" &&
|
||||
settings.LocalTempStorageLocation == LocalTempStorage.Default &&
|
||||
//settings.LocalTempPath == Current.IOHelper.MapPath("~/App_Data/TEMP") &&
|
||||
settings.ReservedPaths == (GlobalSettings.StaticReservedPaths + "~/umbraco") &&
|
||||
settings.ReservedUrls == GlobalSettings.StaticReservedUrls &&
|
||||
settings.UmbracoPath == "~/umbraco" &&
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace Umbraco.Tests.TestHelpers
|
||||
|
||||
public static TypeLoader GetMockedTypeLoader()
|
||||
{
|
||||
return new TypeLoader(IOHelper.Default, Mock.Of<ITypeFinder>(), Mock.Of<IAppPolicyCache>(), new DirectoryInfo(IOHelper.Default.MapPath("~/App_Data/TEMP")), Mock.Of<IProfilingLogger>());
|
||||
return new TypeLoader(IOHelper, Mock.Of<ITypeFinder>(), Mock.Of<IAppPolicyCache>(), new DirectoryInfo(IOHelper.MapPath("~/App_Data/TEMP")), Mock.Of<IProfilingLogger>());
|
||||
}
|
||||
|
||||
public static Configs GetConfigs()
|
||||
@@ -58,12 +58,12 @@ namespace Umbraco.Tests.TestHelpers
|
||||
|
||||
public static IBackOfficeInfo GetBackOfficeInfo()
|
||||
{
|
||||
return new AspNetBackOfficeInfo(SettingsForTests.GenerateMockGlobalSettings(), IOHelper.Default, SettingsForTests.GenerateMockUmbracoSettings(), Mock.Of<ILogger>());
|
||||
return new AspNetBackOfficeInfo(SettingsForTests.GenerateMockGlobalSettings(), TestHelper.IOHelper, SettingsForTests.GenerateMockUmbracoSettings(), Mock.Of<ILogger>());
|
||||
}
|
||||
|
||||
public static IConfigsFactory GetConfigsFactory()
|
||||
{
|
||||
return new ConfigsFactory(IOHelper.Default);
|
||||
return new ConfigsFactory(IOHelper);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -81,6 +81,8 @@ namespace Umbraco.Tests.TestHelpers
|
||||
}
|
||||
}
|
||||
|
||||
public static IIOHelper IOHelper = new IOHelper();
|
||||
|
||||
/// <summary>
|
||||
/// Maps the given <paramref name="relativePath"/> making it rooted on <see cref="CurrentAssemblyDirectory"/>. <paramref name="relativePath"/> must start with <code>~/</code>
|
||||
/// </summary>
|
||||
@@ -108,9 +110,9 @@ namespace Umbraco.Tests.TestHelpers
|
||||
{
|
||||
foreach (var directory in directories)
|
||||
{
|
||||
var directoryInfo = new DirectoryInfo(Current.IOHelper.MapPath(directory));
|
||||
var directoryInfo = new DirectoryInfo(IOHelper.MapPath(directory));
|
||||
if (directoryInfo.Exists == false)
|
||||
Directory.CreateDirectory(Current.IOHelper.MapPath(directory));
|
||||
Directory.CreateDirectory(IOHelper.MapPath(directory));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,7 +124,7 @@ namespace Umbraco.Tests.TestHelpers
|
||||
};
|
||||
foreach (var directory in directories)
|
||||
{
|
||||
var directoryInfo = new DirectoryInfo(Current.IOHelper.MapPath(directory));
|
||||
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))
|
||||
@@ -310,7 +312,7 @@ namespace Umbraco.Tests.TestHelpers
|
||||
|
||||
public static IHostingEnvironment GetHostingEnvironment()
|
||||
{
|
||||
return new AspNetHostingEnvironment(SettingsForTests.GetDefaultGlobalSettings(), IOHelper.Default);
|
||||
return new AspNetHostingEnvironment(SettingsForTests.GetDefaultGlobalSettings(), TestHelper.IOHelper);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ namespace Umbraco.Tests.TestHelpers
|
||||
}
|
||||
|
||||
typeFinder = typeFinder ?? new TypeFinder(logger);
|
||||
fileSystems = fileSystems ?? new FileSystems(Current.Factory, logger, IOHelper.Default, SettingsForTests.GenerateMockGlobalSettings());
|
||||
fileSystems = fileSystems ?? new FileSystems(Current.Factory, logger, TestHelper.IOHelper, SettingsForTests.GenerateMockGlobalSettings());
|
||||
var scopeProvider = new ScopeProvider(databaseFactory, fileSystems, logger, typeFinder);
|
||||
return scopeProvider;
|
||||
}
|
||||
|
||||
@@ -111,6 +111,7 @@ namespace Umbraco.Tests.Testing
|
||||
protected virtual IProfilingLogger ProfilingLogger => Factory.GetInstance<IProfilingLogger>();
|
||||
|
||||
protected IHostingEnvironment HostingEnvironment => Factory.GetInstance<IHostingEnvironment>();
|
||||
protected IIpResolver IpResolver => Factory.GetInstance<IIpResolver>();
|
||||
protected IBackOfficeInfo BackOfficeInfo => Factory.GetInstance<IBackOfficeInfo>();
|
||||
protected AppCaches AppCaches => Factory.GetInstance<AppCaches>();
|
||||
|
||||
@@ -139,7 +140,7 @@ namespace Umbraco.Tests.Testing
|
||||
|
||||
var (logger, profiler) = GetLoggers(Options.Logger);
|
||||
var proflogger = new ProfilingLogger(logger, profiler);
|
||||
IOHelper = Umbraco.Core.IO.IOHelper.Default;
|
||||
IOHelper = TestHelper.IOHelper;
|
||||
|
||||
TypeFinder = new TypeFinder(logger);
|
||||
var appCaches = GetAppCaches();
|
||||
@@ -147,6 +148,7 @@ namespace Umbraco.Tests.Testing
|
||||
var settings = SettingsForTests.GetDefaultUmbracoSettings();
|
||||
IHostingEnvironment hostingEnvironment = new AspNetHostingEnvironment(globalSettings, IOHelper);
|
||||
IBackOfficeInfo backOfficeInfo = new AspNetBackOfficeInfo(globalSettings, IOHelper, settings, logger);
|
||||
IIpResolver ipResolver = new AspNetIpResolver();
|
||||
UmbracoVersion = new UmbracoVersion(globalSettings);
|
||||
var typeLoader = GetTypeLoader(IOHelper, TypeFinder, appCaches.RuntimeCache, hostingEnvironment, proflogger, Options.TypeLoader);
|
||||
|
||||
@@ -165,6 +167,7 @@ namespace Umbraco.Tests.Testing
|
||||
Composition.RegisterUnique(appCaches);
|
||||
Composition.RegisterUnique(hostingEnvironment);
|
||||
Composition.RegisterUnique(backOfficeInfo);
|
||||
Composition.RegisterUnique(ipResolver);
|
||||
|
||||
TestObjects = new TestObjects(register);
|
||||
Compose();
|
||||
|
||||
@@ -70,10 +70,10 @@ namespace Umbraco.Tests.Web.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
var baseDir = Current.IOHelper.MapPath("", false).TrimEnd(Current.IOHelper.DirSepChar);
|
||||
var baseDir = IOHelper.MapPath("", false).TrimEnd(IOHelper.DirSepChar);
|
||||
HttpContext.Current = new HttpContext(new SimpleWorkerRequest("/", baseDir, "", "", new StringWriter()));
|
||||
}
|
||||
Current.IOHelper.ForceNotHosted = true;
|
||||
IOHelper.ForceNotHosted = true;
|
||||
var usersController = new AuthenticationController(
|
||||
Factory.GetInstance<IGlobalSettings>(),
|
||||
umbracoContextAccessor,
|
||||
|
||||
@@ -261,7 +261,7 @@ namespace Umbraco.Tests.Web
|
||||
// FIXME: bad in a unit test - but Udi has a static ctor that wants it?!
|
||||
var container = new Mock<IFactory>();
|
||||
var typeFinder = new TypeFinder(Mock.Of<ILogger>());
|
||||
var ioHelper = IOHelper.Default;
|
||||
var ioHelper = TestHelper.IOHelper;
|
||||
container
|
||||
.Setup(x => x.GetInstance(typeof(TypeLoader)))
|
||||
.Returns(new TypeLoader(
|
||||
|
||||
@@ -18,11 +18,11 @@ namespace Umbraco.Web.Security.Providers
|
||||
public class MembersMembershipProvider : UmbracoMembershipProvider<IMembershipMemberService, IMember>, IUmbracoMemberTypeMembershipProvider
|
||||
{
|
||||
public MembersMembershipProvider()
|
||||
: this(Current.Services.MemberService, Current.Services.MemberTypeService, Current.UmbracoVersion, Current.HostingEnvironment)
|
||||
: this(Current.Services.MemberService, Current.Services.MemberTypeService, Current.UmbracoVersion, Current.HostingEnvironment, Current.IpResolver)
|
||||
{ }
|
||||
|
||||
public MembersMembershipProvider(IMembershipMemberService<IMember> memberService, IMemberTypeService memberTypeService, IUmbracoVersion umbracoVersion, IHostingEnvironment hostingEnvironment)
|
||||
: base(memberService, umbracoVersion, hostingEnvironment)
|
||||
public MembersMembershipProvider(IMembershipMemberService<IMember> memberService, IMemberTypeService memberTypeService, IUmbracoVersion umbracoVersion, IHostingEnvironment hostingEnvironment, IIpResolver ipResolver)
|
||||
: base(memberService, umbracoVersion, hostingEnvironment, ipResolver)
|
||||
{
|
||||
LockPropertyTypeAlias = Constants.Conventions.Member.IsLockedOut;
|
||||
LastLockedOutPropertyTypeAlias = Constants.Conventions.Member.LastLockoutDate;
|
||||
|
||||
@@ -29,13 +29,15 @@ namespace Umbraco.Web.Security.Providers
|
||||
where TEntity : class, IMembershipUser
|
||||
{
|
||||
private readonly IUmbracoVersion _umbracoVersion;
|
||||
private readonly IIpResolver _ipResolver;
|
||||
|
||||
protected IMembershipMemberService<TEntity> MemberService { get; private set; }
|
||||
|
||||
protected UmbracoMembershipProvider(IMembershipMemberService<TEntity> memberService, IUmbracoVersion umbracoVersion, IHostingEnvironment hostingEnvironment)
|
||||
protected UmbracoMembershipProvider(IMembershipMemberService<TEntity> memberService, IUmbracoVersion umbracoVersion, IHostingEnvironment hostingEnvironment, IIpResolver ipResolver)
|
||||
:base(hostingEnvironment)
|
||||
{
|
||||
_umbracoVersion = umbracoVersion;
|
||||
_ipResolver = ipResolver;
|
||||
MemberService = memberService;
|
||||
}
|
||||
|
||||
@@ -528,7 +530,7 @@ namespace Umbraco.Web.Security.Providers
|
||||
|
||||
if (member == null)
|
||||
{
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}, the user does not exist", username, GetCurrentRequestIpAddress());
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}, the user does not exist", username, _ipResolver.GetCurrentRequestIpAddress());
|
||||
|
||||
return new ValidateUserResult
|
||||
{
|
||||
@@ -538,7 +540,7 @@ namespace Umbraco.Web.Security.Providers
|
||||
|
||||
if (member.IsApproved == false)
|
||||
{
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}, the user is not approved", username, GetCurrentRequestIpAddress());
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}, the user is not approved", username, _ipResolver.GetCurrentRequestIpAddress());
|
||||
|
||||
return new ValidateUserResult
|
||||
{
|
||||
@@ -548,7 +550,7 @@ namespace Umbraco.Web.Security.Providers
|
||||
}
|
||||
if (member.IsLockedOut)
|
||||
{
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}, the user is locked", username, GetCurrentRequestIpAddress());
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}, the user is locked", username, _ipResolver.GetCurrentRequestIpAddress());
|
||||
|
||||
return new ValidateUserResult
|
||||
{
|
||||
@@ -572,11 +574,11 @@ namespace Umbraco.Web.Security.Providers
|
||||
member.IsLockedOut = true;
|
||||
member.LastLockoutDate = DateTime.Now;
|
||||
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}, the user is now locked out, max invalid password attempts exceeded", username, GetCurrentRequestIpAddress());
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}, the user is now locked out, max invalid password attempts exceeded", username, _ipResolver.GetCurrentRequestIpAddress());
|
||||
}
|
||||
else
|
||||
{
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}", username, GetCurrentRequestIpAddress());
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt failed for username {Username} from IP address {IpAddress}", username, _ipResolver.GetCurrentRequestIpAddress());
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -589,7 +591,7 @@ namespace Umbraco.Web.Security.Providers
|
||||
|
||||
member.LastLoginDate = DateTime.Now;
|
||||
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt succeeded for username {Username} from IP address {IpAddress}", username, GetCurrentRequestIpAddress());
|
||||
Current.Logger.Info<UmbracoMembershipProviderBase>("Login attempt succeeded for username {Username} from IP address {IpAddress}", username, _ipResolver.GetCurrentRequestIpAddress());
|
||||
}
|
||||
|
||||
//don't raise events for this! It just sets the member dates, if we do raise events this will
|
||||
|
||||
@@ -20,12 +20,12 @@ namespace Umbraco.Web.Security.Providers
|
||||
{
|
||||
|
||||
public UsersMembershipProvider()
|
||||
: this(Current.Services.UserService, Current.Services.MemberTypeService, Current.UmbracoVersion, Current.HostingEnvironment)
|
||||
: this(Current.Services.UserService, Current.Services.MemberTypeService, Current.UmbracoVersion, Current.HostingEnvironment, Current.IpResolver)
|
||||
{
|
||||
}
|
||||
|
||||
public UsersMembershipProvider(IMembershipMemberService<IUser> memberService, IMemberTypeService memberTypeService, IUmbracoVersion umbracoVersion, IHostingEnvironment hostingEnvironment)
|
||||
: base(memberService, umbracoVersion, hostingEnvironment)
|
||||
public UsersMembershipProvider(IMembershipMemberService<IUser> memberService, IMemberTypeService memberTypeService, IUmbracoVersion umbracoVersion, IHostingEnvironment hostingEnvironment, IIpResolver ipResolver)
|
||||
: base(memberService, umbracoVersion, hostingEnvironment, ipResolver)
|
||||
{
|
||||
_memberTypeService = memberTypeService;
|
||||
}
|
||||
|
||||
@@ -166,6 +166,7 @@
|
||||
<Compile Include="Editors\TinyMceController.cs" />
|
||||
<Compile Include="Hosting\AspNetHostingEnvironment.cs" />
|
||||
<Compile Include="AspNetIpResolver.cs" />
|
||||
<Compile Include="HttpContextExtensions.cs" />
|
||||
<Compile Include="IUmbracoContextFactory.cs" />
|
||||
<Compile Include="Install\ChangesMonitor.cs" />
|
||||
<Compile Include="Logging\WebProfiler.cs" />
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace Umbraco.Web
|
||||
|
||||
protected UmbracoApplicationBase()
|
||||
{
|
||||
_ioHelper = IOHelper.Default;
|
||||
_ioHelper = new IOHelper();
|
||||
_configs = new ConfigsFactory(_ioHelper).Create();
|
||||
var globalSettings = _configs.Global();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user