From b4dbe1302cb123e535bc07ad45e035285cdf7349 Mon Sep 17 00:00:00 2001 From: Emma Garland Date: Tue, 14 Apr 2020 14:07:01 +0100 Subject: [PATCH] Moved all UmbracoSettings tests into new unit tests configuration project Added InternalVisibleTo for new Unit Tests project Umbraco.Configuration, so the internals can be tested Moved TestHelpers for specific case into separate helper file, as independent helper, as this is the only method used. Changed from TestHelperBase to TestHelper. Subsequently changed path for testing --- .../Properties/AssemblyInfo.cs | 1 + .../ContentElementDefaultTests.cs | 2 +- .../UmbracoSettings/ContentElementTests.cs | 4 +-- .../LoggingElementDefaultTests.cs | 5 ++-- .../UmbracoSettings/LoggingElementTests.cs | 5 ++-- .../RequestHandlerElementDefaultTests.cs | 2 +- .../RequestHandlerElementTests.cs | 2 +- .../SecurityElementDefaultTests.cs | 2 +- .../UmbracoSettings/SecurityElementTests.cs | 3 +- .../UmbracoSettings/UmbracoSettingsTests.cs | 6 ++-- .../WebRoutingElementDefaultTests.cs | 2 +- .../UmbracoSettings/WebRoutingElementTests.cs | 2 +- .../UmbracoSettings/umbracoSettings.config | 0 .../umbracoSettings.minimal.config | 0 .../UmbracoSettings/web.config | 0 .../Helpers/TestHelper.cs | 29 +++++++++++++++++++ .../Umbraco.Tests.UnitTests.csproj | 15 ++++++++++ src/Umbraco.Tests/Umbraco.Tests.csproj | 23 --------------- 18 files changed, 60 insertions(+), 43 deletions(-) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/ContentElementDefaultTests.cs (95%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/ContentElementTests.cs (98%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/LoggingElementDefaultTests.cs (77%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/LoggingElementTests.cs (70%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/RequestHandlerElementDefaultTests.cs (77%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/RequestHandlerElementTests.cs (94%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/SecurityElementDefaultTests.cs (76%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/SecurityElementTests.cs (97%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/UmbracoSettingsTests.cs (90%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/WebRoutingElementDefaultTests.cs (93%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/WebRoutingElementTests.cs (89%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/umbracoSettings.config (100%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/umbracoSettings.minimal.config (100%) rename src/{Umbraco.Tests/Configurations => Umbraco.Tests.UnitTests/Umbraco.Configuration}/UmbracoSettings/web.config (100%) create mode 100644 src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Helpers/TestHelper.cs diff --git a/src/Umbraco.Configuration/Properties/AssemblyInfo.cs b/src/Umbraco.Configuration/Properties/AssemblyInfo.cs index b77c087e22..a3d1df253e 100644 --- a/src/Umbraco.Configuration/Properties/AssemblyInfo.cs +++ b/src/Umbraco.Configuration/Properties/AssemblyInfo.cs @@ -4,6 +4,7 @@ using System.Runtime.InteropServices; // Umbraco Cms [assembly: InternalsVisibleTo("Umbraco.Tests")] +[assembly: InternalsVisibleTo("Umbraco.Tests.UnitTests")] [assembly: InternalsVisibleTo("Umbraco.Tests.Common")] [assembly: InternalsVisibleTo("Umbraco.Tests.Benchmarks")] diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementDefaultTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/ContentElementDefaultTests.cs similarity index 95% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementDefaultTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/ContentElementDefaultTests.cs index b14319b1b7..40a8558450 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementDefaultTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/ContentElementDefaultTests.cs @@ -1,7 +1,7 @@ using System.Linq; using NUnit.Framework; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class ContentElementDefaultTests : ContentElementTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/ContentElementTests.cs similarity index 98% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/ContentElementTests.cs index 668d0b0297..b5944ed222 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/ContentElementTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/ContentElementTests.cs @@ -1,14 +1,12 @@ using System; -using System.Collections.Generic; using System.Diagnostics; using System.Linq; using NUnit.Framework; using Umbraco.Core; -using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.UmbracoSettings; using Umbraco.Core.Macros; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class ContentElementTests : UmbracoSettingsTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/LoggingElementDefaultTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/LoggingElementDefaultTests.cs similarity index 77% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/LoggingElementDefaultTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/LoggingElementDefaultTests.cs index cdd5855730..dbe4409985 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/LoggingElementDefaultTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/LoggingElementDefaultTests.cs @@ -1,7 +1,6 @@ -using System.Linq; -using NUnit.Framework; +using NUnit.Framework; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class LoggingElementDefaultTests : LoggingElementTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/LoggingElementTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/LoggingElementTests.cs similarity index 70% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/LoggingElementTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/LoggingElementTests.cs index be495ad9d0..92e24796cb 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/LoggingElementTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/LoggingElementTests.cs @@ -1,7 +1,6 @@ -using System.Linq; -using NUnit.Framework; +using NUnit.Framework; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class LoggingElementTests : UmbracoSettingsTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/RequestHandlerElementDefaultTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/RequestHandlerElementDefaultTests.cs similarity index 77% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/RequestHandlerElementDefaultTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/RequestHandlerElementDefaultTests.cs index f0133baa60..c62575e044 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/RequestHandlerElementDefaultTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/RequestHandlerElementDefaultTests.cs @@ -1,6 +1,6 @@ using NUnit.Framework; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class RequestHandlerElementDefaultTests : RequestHandlerElementTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/RequestHandlerElementTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/RequestHandlerElementTests.cs similarity index 94% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/RequestHandlerElementTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/RequestHandlerElementTests.cs index bb4d1efd1e..3bd2a17106 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/RequestHandlerElementTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/RequestHandlerElementTests.cs @@ -2,7 +2,7 @@ using NUnit.Framework; using Umbraco.Core; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class RequestHandlerElementTests : UmbracoSettingsTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementDefaultTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/SecurityElementDefaultTests.cs similarity index 76% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementDefaultTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/SecurityElementDefaultTests.cs index 8d998ead69..369b8d6428 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementDefaultTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/SecurityElementDefaultTests.cs @@ -1,6 +1,6 @@ using NUnit.Framework; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class SecurityElementDefaultTests : SecurityElementTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/SecurityElementTests.cs similarity index 97% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/SecurityElementTests.cs index 2eccd50295..061d7e93f4 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/SecurityElementTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/SecurityElementTests.cs @@ -1,7 +1,6 @@ using NUnit.Framework; -using Umbraco.Core; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class SecurityElementTests : UmbracoSettingsTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/UmbracoSettingsTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/UmbracoSettingsTests.cs similarity index 90% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/UmbracoSettingsTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/UmbracoSettingsTests.cs index 0829de6668..7851b3a909 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/UmbracoSettingsTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/UmbracoSettingsTests.cs @@ -4,9 +4,9 @@ using System.IO; using NUnit.Framework; using Umbraco.Core.Configuration; using Umbraco.Core.Configuration.UmbracoSettings; -using Umbraco.Tests.TestHelpers; +using Umbraco.Tests.UnitTests.Umbraco.Tests.Common.Helpers; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { public abstract class UmbracoSettingsTests { @@ -15,7 +15,7 @@ namespace Umbraco.Tests.Configurations.UmbracoSettings [SetUp] public void Init() { - var config = new FileInfo(TestHelper.MapPathForTestFiles("~/Configurations/UmbracoSettings/web.config")); + var config = new FileInfo(TestHelper.MapPathForTestFiles("~/Umbraco.Configuration/UmbracoSettings/web.config")); var fileMap = new ExeConfigurationFileMap() { ExeConfigFilename = config.FullName }; var configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementDefaultTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/WebRoutingElementDefaultTests.cs similarity index 93% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementDefaultTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/WebRoutingElementDefaultTests.cs index 73483ee8d2..5c8a8f9597 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementDefaultTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/WebRoutingElementDefaultTests.cs @@ -1,6 +1,6 @@ using NUnit.Framework; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class WebRoutingElementDefaultTests : WebRoutingElementTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementTests.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/WebRoutingElementTests.cs similarity index 89% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementTests.cs rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/WebRoutingElementTests.cs index 8068c1605f..c5222b5f13 100644 --- a/src/Umbraco.Tests/Configurations/UmbracoSettings/WebRoutingElementTests.cs +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/WebRoutingElementTests.cs @@ -1,6 +1,6 @@ using NUnit.Framework; -namespace Umbraco.Tests.Configurations.UmbracoSettings +namespace Umbraco.Tests.UnitTests.Umbraco.Configuration.UmbracoSettings { [TestFixture] public class WebRoutingElementTests : UmbracoSettingsTests diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/umbracoSettings.config similarity index 100% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.config rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/umbracoSettings.config diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/umbracoSettings.minimal.config similarity index 100% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/umbracoSettings.minimal.config rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/umbracoSettings.minimal.config diff --git a/src/Umbraco.Tests/Configurations/UmbracoSettings/web.config b/src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/web.config similarity index 100% rename from src/Umbraco.Tests/Configurations/UmbracoSettings/web.config rename to src/Umbraco.Tests.UnitTests/Umbraco.Configuration/UmbracoSettings/web.config diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Helpers/TestHelper.cs b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Helpers/TestHelper.cs new file mode 100644 index 0000000000..790223deee --- /dev/null +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.Common/Helpers/TestHelper.cs @@ -0,0 +1,29 @@ +using System; +using System.IO; + +namespace Umbraco.Tests.UnitTests.Umbraco.Tests.Common.Helpers +{ + /// + /// Common helper properties and methods useful to testing + /// + public static class TestHelper + { + /// + /// Some test files are copied to the /bin (/bin/debug) on build, this is a utility to return their physical path based on a virtual path name + /// + /// + /// + public static string MapPathForTestFiles(string relativePath) + { + if (!relativePath.StartsWith("~/")) + throw new ArgumentException("relativePath must start with '~/'", nameof(relativePath)); + + var codeBase = typeof(TestHelper).Assembly.CodeBase; + var uri = new Uri(codeBase); + var path = uri.LocalPath; + var bin = Path.GetDirectoryName(path); + + return relativePath.Replace("~/", bin + "/"); + } + } +} diff --git a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj index f60b400f3f..d19e3d6f51 100644 --- a/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj +++ b/src/Umbraco.Tests.UnitTests/Umbraco.Tests.UnitTests.csproj @@ -28,4 +28,19 @@ + + + Always + Designer + + + Always + Designer + + + Always + Designer + + + diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj index 8271b32a76..47436e4841 100644 --- a/src/Umbraco.Tests/Umbraco.Tests.csproj +++ b/src/Umbraco.Tests/Umbraco.Tests.csproj @@ -307,17 +307,6 @@ - - - - - - - - - - - @@ -518,14 +507,6 @@ Designer - - Designer - Always - - - Designer - Always - Always @@ -594,10 +575,6 @@ - - Designer - Always - Always