Fix unit tests that failed because UmbracoSettings.config was being cleaned up

This commit is contained in:
Sebastiaan Janssen
2013-08-23 16:22:26 +02:00
parent 8cd9266ea6
commit cc45bbeca6
10 changed files with 55 additions and 163 deletions

View File

@@ -58,34 +58,14 @@ 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);
TestHelper.EnsureUmbracoSettingsConfig();
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);
TestHelper.CleanUmbracoSettingsConfig();
base.TearDown();
}

View File

@@ -6,6 +6,7 @@ using System.Text;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Strings;
using Umbraco.Tests.TestHelpers;
namespace Umbraco.Tests.CoreStrings
{
@@ -17,30 +18,14 @@ namespace Umbraco.Tests.CoreStrings
[SetUp]
public void Setup()
{
TestHelper.EnsureUmbracoSettingsConfig();
_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()
{
//TODO: Deleting the umbracoSettings.config file makes a lot of tests fail
//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);
TestHelper.CleanUmbracoSettingsConfig();
}

View File

@@ -25,36 +25,10 @@ namespace Umbraco.Tests
var routingContext = GetRoutingContext("/test", 1234);
UmbracoContext.Current = routingContext.UmbracoContext;
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 (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()
{
//TODO: Deleting the umbracoSettings.config file makes a lot of tests fail
//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;
}

View File

@@ -6,6 +6,7 @@ using System.Web;
using NUnit.Framework;
using Rhino.Mocks;
using Umbraco.Core.Models;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.TestHelpers.Entities;
namespace Umbraco.Tests.Models
@@ -13,6 +14,18 @@ namespace Umbraco.Tests.Models
[TestFixture]
public class ContentTests
{
[SetUp]
public void Init()
{
TestHelper.EnsureUmbracoSettingsConfig();
}
[TearDown]
public void Dispose()
{
TestHelper.CleanUmbracoSettingsConfig();
}
[Test]
public void All_Dirty_Properties_Get_Reset()
{

View File

@@ -28,25 +28,7 @@ namespace Umbraco.Tests.PublishedContent
public override void Initialize()
{
base.Initialize();
//copy the umbraco settings file over
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 (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);
//need to specify a custom callback for unit tests
DynamicNode.GetDataTypeCallback = (docTypeAlias, propertyAlias) =>
{
@@ -81,19 +63,6 @@ namespace Umbraco.Tests.PublishedContent
base.Is_Position_Root_Nodes();
}
public override void TearDown()
{
//TODO: Deleting the umbracoSettings.config file makes a lot of tests fail
//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();
}
protected override dynamic GetDynamicNode(int id)
{
//var template = Template.MakeNew("test", new User(0));

View File

@@ -14,34 +14,6 @@ namespace Umbraco.Tests.PublishedContent
[TestFixture]
public class DynamicPublishedContentTests : DynamicDocumentTestsBase<DynamicPublishedContent, DynamicPublishedContentList>
{
public override void Initialize()
{
var currDir = new DirectoryInfo(TestHelpers.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()
{
base.TearDown();
}
internal DynamicPublishedContent GetNode(int id)
{
//var template = Template.MakeNew("test", new User(0));

View File

@@ -19,8 +19,6 @@ namespace Umbraco.Tests.PublishedContent
{
base.Initialize();
UmbracoSettings.SettingsFilePath = Core.IO.IOHelper.MapPath(Core.IO.SystemDirectories.Config + Path.DirectorySeparatorChar, false);
//need to specify a custom callback for unit tests
PublishedContentHelper.GetDataTypeCallback = (docTypeAlias, propertyAlias) =>
{

View File

@@ -13,41 +13,6 @@ namespace Umbraco.Tests.Routing
[TestFixture]
public class NiceUrlProviderTests : BaseRoutingTest
{
public override void Initialize()
{
base.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 (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()
{
//TODO: Deleting the umbracoSettings.config file makes a lot of tests fail
//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());

View File

@@ -18,6 +18,7 @@ namespace Umbraco.Tests.TestHelpers
{
TestHelper.SetupLog4NetForTests();
TestHelper.InitializeContentDirectories();
TestHelper.EnsureUmbracoSettingsConfig();
SettingsForTests.UseLegacyXmlSchema = false;
SettingsForTests.ForceSafeAliases = true;
@@ -37,6 +38,7 @@ namespace Umbraco.Tests.TestHelpers
SettingsForTests.Reset();
UmbracoContext.Current = null;
TestHelper.CleanContentDirectories();
TestHelper.CleanUmbracoSettingsConfig();
//reset the app context, this should reset most things that require resetting like ALL resolvers
ApplicationContext.Current.DisposeIfDisposable();
ApplicationContext.Current = null;

View File

@@ -1,6 +1,7 @@
using System;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Reflection;
using SqlCE4Umbraco;
using Umbraco.Core;
@@ -123,5 +124,38 @@ namespace Umbraco.Tests.TestHelpers
directoryInfo.GetFiles().ForEach(x => x.Delete());
}
}
public static void EnsureUmbracoSettingsConfig()
{
var currDir = new DirectoryInfo(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 (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 = IOHelper.MapPath(SystemDirectories.Config + Path.DirectorySeparatorChar, false);
}
public static void CleanUmbracoSettingsConfig()
{
var currDir = new DirectoryInfo(CurrentAssemblyDirectory);
var umbracoSettingsFile = Path.Combine(currDir.Parent.Parent.FullName, "config", "umbracoSettings.config");
if (File.Exists(umbracoSettingsFile))
File.Delete(umbracoSettingsFile);
}
}
}