2012-08-06 23:04:08 +06:00
|
|
|
using System;
|
2012-08-06 22:40:06 +06:00
|
|
|
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();
|
|
|
|
|
|
2012-08-06 23:04:08 +06:00
|
|
|
var result = _module.EnsureUmbracoRoutablePage(uri, lpath, httpContext);
|
2012-08-06 22:40:06 +06:00
|
|
|
|
|
|
|
|
Assert.AreEqual(assert, result);
|
|
|
|
|
}
|
|
|
|
|
|
2012-08-06 23:04:08 +06:00
|
|
|
[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);
|
|
|
|
|
}
|
|
|
|
|
|
2012-08-06 22:40:06 +06:00
|
|
|
}
|
|
|
|
|
}
|