From fe2aa02392d2fdcace112b09e63e130c87c06f6f Mon Sep 17 00:00:00 2001 From: Bjarke Berg Date: Thu, 26 Nov 2020 15:29:18 +0100 Subject: [PATCH] Fixed tests + Migrated FileSystemsTests.cs Signed-off-by: Bjarke Berg --- .../Umbraco.Core}/IO/FileSystemsTests.cs | 73 ++++--------------- src/Umbraco.Tests/Umbraco.Tests.csproj | 1 - 2 files changed, 14 insertions(+), 60 deletions(-) rename src/{Umbraco.Tests => Umbraco.Tests.Integration/Umbraco.Core}/IO/FileSystemsTests.cs (60%) diff --git a/src/Umbraco.Tests/IO/FileSystemsTests.cs b/src/Umbraco.Tests.Integration/Umbraco.Core/IO/FileSystemsTests.cs similarity index 60% rename from src/Umbraco.Tests/IO/FileSystemsTests.cs rename to src/Umbraco.Tests.Integration/Umbraco.Core/IO/FileSystemsTests.cs index 170e5e357e..4474b95584 100644 --- a/src/Umbraco.Tests/IO/FileSystemsTests.cs +++ b/src/Umbraco.Tests.Integration/Umbraco.Core/IO/FileSystemsTests.cs @@ -8,93 +8,48 @@ using Microsoft.Extensions.Logging.Abstractions; using Moq; using NUnit.Framework; using Umbraco.Core; -using Umbraco.Core.Cache; -using Umbraco.Core.Composing; using Umbraco.Core.Composing.CompositionExtensions; using Umbraco.Core.Configuration.Models; +using Umbraco.Core.Hosting; using Umbraco.Core.IO; using Umbraco.Core.IO.MediaPathSchemes; -using Umbraco.Core.Logging; using Umbraco.Core.Services; -using Umbraco.Tests.TestHelpers; -using Umbraco.Web; -using Umbraco.Web.Common.Builder; +using Umbraco.Tests.Integration.Testing; +using Umbraco.Tests.Testing; using FileSystems = Umbraco.Core.IO.FileSystems; namespace Umbraco.Tests.IO { [TestFixture] - public class FileSystemsTests + [UmbracoTest()] + public class FileSystemsTests : UmbracoIntegrationTest { - private IServiceCollection _register; - private IServiceProvider _factory; - - [SetUp] - public void Setup() - { - _register = TestHelper.GetRegister(); - - var composition = new UmbracoBuilder(_register, Mock.Of(), TestHelper.GetMockedTypeLoader()); - - composition.Services.AddTransient(_ => Mock.Of()); - composition.Services.AddTransient(); - composition.Services.AddTransient(typeof(ILogger<>), typeof(Logger<>)); - composition.Services.AddTransient(_ => TestHelper.ShortStringHelper); - composition.Services.AddTransient(_ => TestHelper.IOHelper); - composition.Services.AddUnique(); - composition.Services.AddUnique(TestHelper.IOHelper); - composition.Services.AddUnique(TestHelper.GetHostingEnvironment()); - - var globalSettings = new GlobalSettings(); - composition.Services.AddScoped(x => Microsoft.Extensions.Options.Options.Create(globalSettings)); - - - composition.ComposeFileSystems(); - - _factory = composition.CreateServiceProvider(); - - // make sure we start clean - // because some tests will create corrupt or weird filesystems - FileSystems.Reset(); - } - - [TearDown] - public void TearDown() - { - // stay clean (see note in Setup) - FileSystems.Reset(); - - _register.DisposeIfDisposable(); - } - - private FileSystems FileSystems => _factory.GetRequiredService(); - [Test] public void Can_Get_MediaFileSystem() { - var fileSystem = _factory.GetRequiredService(); + var fileSystem = GetRequiredService(); Assert.NotNull(fileSystem); } [Test] public void Can_Get_IMediaFileSystem() { - var fileSystem = _factory.GetRequiredService(); + var fileSystem = GetRequiredService(); Assert.NotNull(fileSystem); } [Test] public void IMediaFileSystem_Is_Singleton() { - var fileSystem1 = _factory.GetRequiredService(); - var fileSystem2 = _factory.GetRequiredService(); + var fileSystem1 = GetRequiredService(); + var fileSystem2 = GetRequiredService(); Assert.AreSame(fileSystem1, fileSystem2); } [Test] public void Can_Unwrap_MediaFileSystem() { - var fileSystem = _factory.GetRequiredService(); + var fileSystem = GetRequiredService(); var unwrapped = fileSystem.Unwrap(); Assert.IsNotNull(unwrapped); var physical = unwrapped as PhysicalFileSystem; @@ -104,21 +59,21 @@ namespace Umbraco.Tests.IO [Test] public void Can_Delete_MediaFiles() { - var fs = _factory.GetRequiredService(); + var fs = GetRequiredService(); var ms = new MemoryStream(Encoding.UTF8.GetBytes("test")); var virtPath = fs.GetMediaPath("file.txt", Guid.NewGuid(), Guid.NewGuid()); fs.AddFile(virtPath, ms); // ~/media/1234/file.txt exists - var ioHelper = _factory.GetRequiredService(); - var physPath = ioHelper.MapPath(Path.Combine("media", virtPath)); + var hostingEnvironment = GetRequiredService(); + var physPath = hostingEnvironment.MapPathWebRoot(Path.Combine("media", virtPath)); Assert.IsTrue(File.Exists(physPath)); // ~/media/1234/file.txt is gone fs.DeleteMediaFiles(new[] { virtPath }); Assert.IsFalse(File.Exists(physPath)); - var scheme = _factory.GetRequiredService(); + var scheme = GetRequiredService(); if (scheme is UniqueMediaPathScheme) { // ~/media/1234 is *not* gone diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index ec62d7f1f5..eedccd9c07 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -131,7 +131,6 @@ -