Files
Umbraco-CMS/src/Umbraco.Tests/UmbracoModuleTests.cs

82 lines
2.9 KiB
C#
Raw Normal View History

using System;
using System.Configuration;
using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Tests.TestHelpers;
using Umbraco.Web;
namespace Umbraco.Tests
{
[TestFixture]
public class UmbracoModuleTests
{
private UmbracoModule _module;
[SetUp]
public void Initialize()
{
TestHelper.SetupLog4NetForTests();
ApplicationContext.Current = new ApplicationContext()
{
IsReady = true
};
_module = new UmbracoModule();
ConfigurationManager.AppSettings.Set("umbracoConfigurationStatus", Umbraco.Core.Configuration.GlobalSettings.CurrentVersion);
ConfigurationManager.AppSettings.Set("umbracoReservedPaths", "~/umbraco,~/install/");
ConfigurationManager.AppSettings.Set("umbracoReservedUrls", "~/config/splashes/booting.aspx,~/install/default.aspx,~/config/splashes/noNodes.aspx,~/VSEnterpriseHelper.axd");
}
[TearDown]
public void TearDown()
{
_module.Dispose();
//reset the context on global settings
Umbraco.Core.Configuration.GlobalSettings.HttpContext = null;
//reset the app context
ApplicationContext.Current = null;
//reset the app config
ConfigurationManager.AppSettings.Set("umbracoConfigurationStatus", "");
ConfigurationManager.AppSettings.Set("umbracoReservedPaths", "");
ConfigurationManager.AppSettings.Set("umbracoReservedUrls", "");
}
[TestCase("/umbraco_client/Tree/treeIcons.css", false)]
[TestCase("/umbraco_client/Tree/Themes/umbraco/style.css?cdv=37", false)]
[TestCase("/umbraco_client/scrollingmenu/style.css?cdv=37", false)]
[TestCase("/umbraco/umbraco.aspx", false)]
[TestCase("/umbraco/editContent.aspx", false)]
[TestCase("/install/default.aspx", false)]
[TestCase("/install/test.aspx", false)]
[TestCase("/base/somebasehandler", false)]
[TestCase("/", true)]
[TestCase("/home.aspx", true)]
public void Ensure_Request_Routable(string url, bool assert)
{
var httpContextFactory = new FakeHttpContextFactory(url);
var httpContext = httpContextFactory.HttpContext;
//set the context on global settings
Umbraco.Core.Configuration.GlobalSettings.HttpContext = httpContext;
var uri = httpContext.Request.Url;
var lpath = uri.AbsolutePath.ToLower();
var result = _module.EnsureUmbracoRoutablePage(uri, lpath, httpContext);
Assert.AreEqual(assert, result);
}
[TestCase("/favicon.ico", true)]
[TestCase("/umbraco_client/Tree/treeIcons.css", true)]
[TestCase("/umbraco_client/Tree/Themes/umbraco/style.css?cdv=37", true)]
[TestCase("/umbraco_client/scrollingmenu/style.css?cdv=37", true)]
[TestCase("/base/somebasehandler", false)]
[TestCase("/", false)]
[TestCase("/home.aspx", false)]
public void Is_Client_Side_Request(string url, bool assert)
{
var uri = new Uri("http://test.com" + url);
var result = _module.IsClientSideRequest(uri);
Assert.AreEqual(assert, result);
}
}
}