From df1940a01c04a3129bdd93be12a6ca24cf6b74d7 Mon Sep 17 00:00:00 2001 From: Sebastiaan Janssen Date: Sat, 22 Jun 2013 15:07:40 +0200 Subject: [PATCH] Fix unit test by ensuring config file is copied if it doesn't exist --- .../CodeFirst/StronglyTypedMapperTest.cs | 27 +++++++++++++++- .../LegacyShortStringHelperTests.cs | 27 ++++++++++++++++ src/Umbraco.Tests/LibraryTests.cs | 27 +++++++++++----- .../PublishedContent/DynamicNodeTests.cs | 27 +++++++++++----- .../Routing/NiceUrlProviderTests.cs | 31 ++++++++++++++----- 5 files changed, 117 insertions(+), 22 deletions(-) diff --git a/src/Umbraco.Tests/CodeFirst/StronglyTypedMapperTest.cs b/src/Umbraco.Tests/CodeFirst/StronglyTypedMapperTest.cs index 62fb7cc18e..de2c109af4 100644 --- a/src/Umbraco.Tests/CodeFirst/StronglyTypedMapperTest.cs +++ b/src/Umbraco.Tests/CodeFirst/StronglyTypedMapperTest.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System.IO; +using System.Linq; using System.Text.RegularExpressions; using NUnit.Framework; using Umbraco.Core.Models; @@ -57,11 +58,35 @@ namespace Umbraco.Tests.CodeFirst #region Test setup public override void Initialize() { + var currDir = new DirectoryInfo(TestHelper.CurrentAssemblyDirectory); + + var configPath = Path.Combine(currDir.Parent.Parent.FullName, "config"); + if (Directory.Exists(configPath) == false) + Directory.CreateDirectory(configPath); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (System.IO.File.Exists(umbracoSettingsFile) == false) + System.IO.File.Copy( + currDir.Parent.Parent.Parent.GetDirectories("Umbraco.Web.UI") + .First() + .GetDirectories("config").First() + .GetFiles("umbracoSettings.Release.config").First().FullName, + Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), + true); + + Core.Configuration.UmbracoSettings.SettingsFilePath = Core.IO.IOHelper.MapPath(Core.IO.SystemDirectories.Config + Path.DirectorySeparatorChar, false); + base.Initialize(); } public override void TearDown() { + var currDir = new DirectoryInfo(TestHelper.CurrentAssemblyDirectory); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (System.IO.File.Exists(umbracoSettingsFile)) + System.IO.File.Delete(umbracoSettingsFile); + base.TearDown(); } diff --git a/src/Umbraco.Tests/CoreStrings/LegacyShortStringHelperTests.cs b/src/Umbraco.Tests/CoreStrings/LegacyShortStringHelperTests.cs index 20a3ac0c86..fbdd242fe7 100644 --- a/src/Umbraco.Tests/CoreStrings/LegacyShortStringHelperTests.cs +++ b/src/Umbraco.Tests/CoreStrings/LegacyShortStringHelperTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using NUnit.Framework; @@ -17,8 +18,34 @@ namespace Umbraco.Tests.CoreStrings public void Setup() { _helper = new LegacyShortStringHelper(); + var currDir = new DirectoryInfo(TestHelpers.TestHelper.CurrentAssemblyDirectory); + Directory.CreateDirectory(Path.Combine(currDir.Parent.Parent.FullName, "config")); + File.Copy( + currDir.Parent.Parent.Parent.GetDirectories("Umbraco.Web.UI") + .First() + .GetDirectories("config").First() + .GetFiles("umbracoSettings.Release.config").First().FullName, + Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), + true); + + Core.Configuration.UmbracoSettings.SettingsFilePath = Core.IO.IOHelper.MapPath(Core.IO.SystemDirectories.Config + Path.DirectorySeparatorChar, false); } + [TearDown] + public void TearDown() + { + var currDir = new DirectoryInfo(TestHelpers.TestHelper.CurrentAssemblyDirectory); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (File.Exists(umbracoSettingsFile)) + File.Delete(umbracoSettingsFile); + + var configPath = Path.Combine(currDir.Parent.Parent.FullName, "config"); + if (Directory.Exists(configPath)) + Directory.Delete(configPath); + } + + #region Cases [TestCase("foo", "foo")] [TestCase(" foo ", "Foo")] diff --git a/src/Umbraco.Tests/LibraryTests.cs b/src/Umbraco.Tests/LibraryTests.cs index 77fe2afe96..d04dd9bf0d 100644 --- a/src/Umbraco.Tests/LibraryTests.cs +++ b/src/Umbraco.Tests/LibraryTests.cs @@ -27,19 +27,32 @@ namespace Umbraco.Tests UmbracoContext.Current = routingContext.UmbracoContext; var currDir = new DirectoryInfo(TestHelper.CurrentAssemblyDirectory); - File.Copy( - currDir.Parent.Parent.Parent.GetDirectories("Umbraco.Web.UI") - .First() - .GetDirectories("config").First() - .GetFiles("umbracoSettings.Release.config").First().FullName, - Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), - true); + + var configPath = Path.Combine(currDir.Parent.Parent.FullName, "config"); + if (Directory.Exists(configPath) == false) + Directory.CreateDirectory(configPath); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (File.Exists(umbracoSettingsFile) == false) + File.Copy( + currDir.Parent.Parent.Parent.GetDirectories("Umbraco.Web.UI") + .First() + .GetDirectories("config").First() + .GetFiles("umbracoSettings.Release.config").First().FullName, + Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), + true); Core.Configuration.UmbracoSettings.SettingsFilePath = Core.IO.IOHelper.MapPath(Core.IO.SystemDirectories.Config + Path.DirectorySeparatorChar, false); } public override void TearDown() { + var currDir = new DirectoryInfo(TestHelper.CurrentAssemblyDirectory); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (File.Exists(umbracoSettingsFile)) + File.Delete(umbracoSettingsFile); + base.TearDown(); UmbracoContext.Current = null; } diff --git a/src/Umbraco.Tests/PublishedContent/DynamicNodeTests.cs b/src/Umbraco.Tests/PublishedContent/DynamicNodeTests.cs index 011ed05d0a..37a0301f53 100644 --- a/src/Umbraco.Tests/PublishedContent/DynamicNodeTests.cs +++ b/src/Umbraco.Tests/PublishedContent/DynamicNodeTests.cs @@ -30,13 +30,20 @@ namespace Umbraco.Tests.PublishedContent base.Initialize(); //copy the umbraco settings file over var currDir = new DirectoryInfo(TestHelper.CurrentAssemblyDirectory); - File.Copy( - currDir.Parent.Parent.Parent.GetDirectories("Umbraco.Web.UI") - .First() - .GetDirectories("config").First() - .GetFiles("umbracoSettings.Release.config").First().FullName, - Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), - true); + + var configPath = Path.Combine(currDir.Parent.Parent.FullName, "config"); + if (Directory.Exists(configPath) == false) + Directory.CreateDirectory(configPath); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (File.Exists(umbracoSettingsFile) == false) + File.Copy( + currDir.Parent.Parent.Parent.GetDirectories("Umbraco.Web.UI") + .First() + .GetDirectories("config").First() + .GetFiles("umbracoSettings.Release.config").First().FullName, + Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), + true); UmbracoSettings.SettingsFilePath = IOHelper.MapPath(SystemDirectories.Config + Path.DirectorySeparatorChar, false); @@ -76,6 +83,12 @@ namespace Umbraco.Tests.PublishedContent public override void TearDown() { + var currDir = new DirectoryInfo(TestHelper.CurrentAssemblyDirectory); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (File.Exists(umbracoSettingsFile)) + File.Delete(umbracoSettingsFile); + base.TearDown(); } diff --git a/src/Umbraco.Tests/Routing/NiceUrlProviderTests.cs b/src/Umbraco.Tests/Routing/NiceUrlProviderTests.cs index a64de740af..838a6177db 100644 --- a/src/Umbraco.Tests/Routing/NiceUrlProviderTests.cs +++ b/src/Umbraco.Tests/Routing/NiceUrlProviderTests.cs @@ -18,17 +18,34 @@ namespace Umbraco.Tests.Routing base.Initialize(); var currDir = new DirectoryInfo(TestHelper.CurrentAssemblyDirectory); - File.Copy( - currDir.Parent.Parent.Parent.GetDirectories("Umbraco.Web.UI") - .First() - .GetDirectories("config").First() - .GetFiles("umbracoSettings.Release.config").First().FullName, - Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), - true); + + var configPath = Path.Combine(currDir.Parent.Parent.FullName, "config"); + if (Directory.Exists(configPath) == false) + Directory.CreateDirectory(configPath); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (File.Exists(umbracoSettingsFile) == false) + File.Copy( + currDir.Parent.Parent.Parent.GetDirectories("Umbraco.Web.UI") + .First() + .GetDirectories("config").First() + .GetFiles("umbracoSettings.Release.config").First().FullName, + Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"), + true); SettingsForTests.SettingsFilePath = Core.IO.IOHelper.MapPath(Core.IO.SystemDirectories.Config + Path.DirectorySeparatorChar, false); } + + public void TearDown() + { + var currDir = new DirectoryInfo(TestHelper.CurrentAssemblyDirectory); + + var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config"); + if (File.Exists(umbracoSettingsFile)) + File.Delete(umbracoSettingsFile); + } + protected override void FreezeResolution() { SiteDomainHelperResolver.Current = new SiteDomainHelperResolver(new SiteDomainHelper());