diff --git a/src/Umbraco.Core/Models/UmbracoDomain.cs b/src/Umbraco.Core/Models/UmbracoDomain.cs
index d2f5772e93..963535729c 100644
--- a/src/Umbraco.Core/Models/UmbracoDomain.cs
+++ b/src/Umbraco.Core/Models/UmbracoDomain.cs
@@ -11,6 +11,11 @@ namespace Umbraco.Core.Models
[DataContract(IsReference = true)]
public class UmbracoDomain : Entity, IDomain
{
+ public UmbracoDomain(string domainName)
+ {
+ _domainName = domainName;
+ }
+
private IContent _content;
private ILanguage _language;
private string _domainName;
diff --git a/src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs b/src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
index fd29c81c71..2adba8536a 100644
--- a/src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
+++ b/src/Umbraco.Core/Persistence/Repositories/DomainRepository.cs
@@ -290,12 +290,11 @@ namespace Umbraco.Core.Persistence.Repositories
return cacheableDomains
.WhereNotNull()
- .Select(cacheableDomain => new UmbracoDomain
+ .Select(cacheableDomain => new UmbracoDomain(cacheableDomain.DomainName)
{
Id = cacheableDomain.Id,
//lookup from repo - this will be cached
Language = cacheableDomain.DefaultLanguageId.HasValue ? langItems.FirstOrDefault(l => l.Id == cacheableDomain.DefaultLanguageId.Value) : null,
- DomainName = cacheableDomain.DomainName,
//lookup from repo - this will be cached
RootContent = cacheableDomain.RootContentId.HasValue ? contentItems.FirstOrDefault(l => l.Id == cacheableDomain.RootContentId.Value) : null,
});
@@ -305,12 +304,11 @@ namespace Umbraco.Core.Persistence.Repositories
{
if (cacheableDomain == null) return null;
- return new UmbracoDomain
+ return new UmbracoDomain(cacheableDomain.DomainName)
{
Id = cacheableDomain.Id,
//lookup from repo - this will be cached
Language = cacheableDomain.DefaultLanguageId.HasValue ? languageRepository.Get(cacheableDomain.DefaultLanguageId.Value) : null,
- DomainName = cacheableDomain.DomainName,
//lookup from repo - this will be cached
RootContent = cacheableDomain.RootContentId.HasValue ? contentRepository.Get(cacheableDomain.RootContentId.Value) : null
};
diff --git a/src/Umbraco.Core/Services/LocalizedTextService.cs b/src/Umbraco.Core/Services/LocalizedTextService.cs
index cdd52d0787..164ed77d50 100644
--- a/src/Umbraco.Core/Services/LocalizedTextService.cs
+++ b/src/Umbraco.Core/Services/LocalizedTextService.cs
@@ -46,10 +46,13 @@ namespace Umbraco.Core.Services
/// Initializes with a source of a dictionary of culture -> areas -> sub dictionary of keys/values
///
///
- public LocalizedTextService(IDictionary>> source)
+ ///
+ public LocalizedTextService(IDictionary>> source, ILogger logger)
{
if (source == null) throw new ArgumentNullException("source");
+ if (logger == null) throw new ArgumentNullException("logger");
_dictionarySource = source;
+ _logger = logger;
}
public string Localize(string key, CultureInfo culture, IDictionary tokens = null)
diff --git a/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs
index af0c3b86b5..7fa4f8aef0 100644
--- a/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs
+++ b/src/Umbraco.Tests/Persistence/Repositories/DomainRepositoryTest.cs
@@ -71,7 +71,7 @@ namespace Umbraco.Tests.Persistence.Repositories
var lang = langRepo.GetByIsoCode("en-AU");
var content = contentRepo.Get(contentId);
- var domain = (IDomain)new UmbracoDomain { RootContent = content, Language = lang, DomainName = "test.com" };
+ var domain = (IDomain)new UmbracoDomain("test.com") { RootContent = content, Language = lang };
repo.AddOrUpdate(domain);
unitOfWork.Commit();
@@ -107,11 +107,11 @@ namespace Umbraco.Tests.Persistence.Repositories
var lang = langRepo.GetByIsoCode("en-AU");
var content = contentRepo.Get(contentId);
- var domain1 = (IDomain)new UmbracoDomain { RootContent = content, Language = lang, DomainName = "test.com" };
+ var domain1 = (IDomain)new UmbracoDomain("test.com") { RootContent = content, Language = lang };
repo.AddOrUpdate(domain1);
unitOfWork.Commit();
- var domain2 = (IDomain)new UmbracoDomain { RootContent = content, Language = lang, DomainName = "test.com" };
+ var domain2 = (IDomain)new UmbracoDomain("test.com") { RootContent = content, Language = lang };
repo.AddOrUpdate(domain2);
Assert.Throws(unitOfWork.Commit);
@@ -140,7 +140,7 @@ namespace Umbraco.Tests.Persistence.Repositories
var lang = langRepo.GetByIsoCode("en-AU");
var content = contentRepo.Get(contentId);
- var domain = (IDomain)new UmbracoDomain { RootContent = content, Language = lang, DomainName = "test.com" };
+ var domain = (IDomain)new UmbracoDomain("test.com") { RootContent = content, Language = lang };
repo.AddOrUpdate(domain);
unitOfWork.Commit();
@@ -183,7 +183,7 @@ namespace Umbraco.Tests.Persistence.Repositories
unitOfWork.Commit();
- var domain = (IDomain)new UmbracoDomain { RootContent = content1, Language = lang1, DomainName = "test.com" };
+ var domain = (IDomain)new UmbracoDomain("test.com") { RootContent = content1, Language = lang1 };
repo.AddOrUpdate(domain);
unitOfWork.Commit();
@@ -227,7 +227,7 @@ namespace Umbraco.Tests.Persistence.Repositories
for (int i = 0; i < 10; i++)
{
- var domain = (IDomain)new UmbracoDomain { RootContent = content, Language = lang, DomainName = "test " + i + ".com" };
+ var domain = (IDomain)new UmbracoDomain("test " + i + ".com") { RootContent = content, Language = lang };
repo.AddOrUpdate(domain);
unitOfWork.Commit();
}
@@ -259,7 +259,7 @@ namespace Umbraco.Tests.Persistence.Repositories
var ids = new List();
for (int i = 0; i < 10; i++)
{
- var domain = (IDomain)new UmbracoDomain { RootContent = content, Language = lang, DomainName = "test " + i + ".com" };
+ var domain = (IDomain)new UmbracoDomain("test " + i + ".com") { RootContent = content, Language = lang };
repo.AddOrUpdate(domain);
unitOfWork.Commit();
ids.Add(domain.Id);
@@ -291,11 +291,10 @@ namespace Umbraco.Tests.Persistence.Repositories
for (int i = 0; i < 10; i++)
{
- var domain = (IDomain)new UmbracoDomain
+ var domain = (IDomain)new UmbracoDomain((i % 2 == 0) ? "test " + i + ".com" : ("*" + i))
{
RootContent = content,
- Language = lang,
- DomainName = (i%2==0) ? "test " + i + ".com" : ("*" + i)
+ Language = lang
};
repo.AddOrUpdate(domain);
unitOfWork.Commit();
@@ -338,11 +337,10 @@ namespace Umbraco.Tests.Persistence.Repositories
for (int i = 0; i < 10; i++)
{
- var domain = (IDomain)new UmbracoDomain
+ var domain = (IDomain)new UmbracoDomain((i % 2 == 0) ? "test " + i + ".com" : ("*" + i))
{
RootContent = (i % 2 == 0) ? contentItems[0] : contentItems[1],
- Language = lang,
- DomainName = (i % 2 == 0) ? "test " + i + ".com" : ("*" + i)
+ Language = lang
};
repo.AddOrUpdate(domain);
unitOfWork.Commit();
@@ -390,11 +388,10 @@ namespace Umbraco.Tests.Persistence.Repositories
for (int i = 0; i < 10; i++)
{
- var domain = (IDomain)new UmbracoDomain
+ var domain = (IDomain)new UmbracoDomain((i % 2 == 0) ? "test " + i + ".com" : ("*" + i))
{
RootContent = (i % 2 == 0) ? contentItems[0] : contentItems[1],
- Language = lang,
- DomainName = (i % 2 == 0) ? "test " + i + ".com" : ("*" + i)
+ Language = lang
};
repo.AddOrUpdate(domain);
unitOfWork.Commit();
diff --git a/src/Umbraco.Tests/Routing/ContentFinderByNiceUrlWithDomainsTests.cs b/src/Umbraco.Tests/Routing/ContentFinderByNiceUrlWithDomainsTests.cs
index 1a1c116eca..13a3d7bca6 100644
--- a/src/Umbraco.Tests/Routing/ContentFinderByNiceUrlWithDomainsTests.cs
+++ b/src/Umbraco.Tests/Routing/ContentFinderByNiceUrlWithDomainsTests.cs
@@ -43,7 +43,7 @@ namespace Umbraco.Tests.Routing
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/", Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}}
+ new UmbracoDomain("domain1.com/") {Id = 1, Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}}
});
//var langEn = Language.GetByCultureCode("en-US");
@@ -56,12 +56,12 @@ namespace Umbraco.Tests.Routing
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/en", Language = new Language("en-US"), RootContent = new Content("test2", -1, new ContentType(-1)) {Id = 10011}},
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test3", -1, new ContentType(-1)) {Id = 10012}},
- new UmbracoDomain {Id = 1, DomainName = "domain3.com/", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1003}},
- new UmbracoDomain {Id = 1, DomainName = "domain3.com/en", Language = new Language("en-US"), RootContent = new Content("test2", -1, new ContentType(-1)) {Id = 10031}},
- new UmbracoDomain {Id = 1, DomainName = "domain3.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test3", -1, new ContentType(-1)) {Id = 10032}}
+ new UmbracoDomain("domain1.com/") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
+ new UmbracoDomain("domain1.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test2", -1, new ContentType(-1)) {Id = 10011}},
+ new UmbracoDomain("domain1.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test3", -1, new ContentType(-1)) {Id = 10012}},
+ new UmbracoDomain("http://domain3.com/") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1003}},
+ new UmbracoDomain("http://domain3.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test2", -1, new ContentType(-1)) {Id = 10031}},
+ new UmbracoDomain("http://domain3.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test3", -1, new ContentType(-1)) {Id = 10032}}
});
//var langEn = Language.GetByCultureCode("en-US");
diff --git a/src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs b/src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs
index 2acadbb830..9042bbca53 100644
--- a/src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs
+++ b/src/Umbraco.Tests/Routing/DomainsAndCulturesTests.cs
@@ -19,9 +19,9 @@ namespace Umbraco.Tests.Routing
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/", Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/en", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}}
+ new UmbracoDomain("domain1.com/") {Id = 1, Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
+ new UmbracoDomain("domain1.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
+ new UmbracoDomain("domain1.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}}
});
}
@@ -29,15 +29,15 @@ namespace Umbraco.Tests.Routing
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/", Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/en", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
- new UmbracoDomain {Id = 1, DomainName = "domain1.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
- new UmbracoDomain {Id = 1, DomainName = "*1001", Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
- new UmbracoDomain {Id = 1, DomainName = "*10011", Language = new Language("cs-CZ"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
- new UmbracoDomain {Id = 1, DomainName = "*100112", Language = new Language("nl-NL"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 100112}},
- new UmbracoDomain {Id = 1, DomainName = "*1001122", Language = new Language("da-DK"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001122}},
- new UmbracoDomain {Id = 1, DomainName = "*10012", Language = new Language("nl-NL"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
- new UmbracoDomain {Id = 1, DomainName = "*10031", Language = new Language("nl-NL"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10031}}
+ new UmbracoDomain("domain1.com/") {Id = 1, Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
+ new UmbracoDomain("domain1.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
+ new UmbracoDomain("domain1.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
+ new UmbracoDomain("*1001") {Id = 1, Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
+ new UmbracoDomain("*10011") {Id = 1, Language = new Language("cs-CZ"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
+ new UmbracoDomain("*100112") {Id = 1, Language = new Language("nl-NL"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 100112}},
+ new UmbracoDomain("*1001122") {Id = 1, Language = new Language("da-DK"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001122}},
+ new UmbracoDomain("*10012") {Id = 1, Language = new Language("nl-NL"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
+ new UmbracoDomain("*10031") {Id = 1, Language = new Language("nl-NL"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10031}}
});
}
diff --git a/src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs b/src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs
index 48d67deb28..3a64389104 100644
--- a/src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs
+++ b/src/Umbraco.Tests/Routing/NiceUrlsProviderWithDomainsTests.cs
@@ -13,9 +13,9 @@ using umbraco.cms.businesslogic.web;
using System.Configuration;
namespace Umbraco.Tests.Routing
{
- [TestFixture]
+ [TestFixture]
public class NiceUrlsProviderWithDomainsTests : UrlRoutingTestBase
- {
+ {
protected override void FreezeResolution()
{
SiteDomainHelperResolver.Current = new SiteDomainHelperResolver(new SiteDomainHelper());
@@ -23,20 +23,20 @@ namespace Umbraco.Tests.Routing
}
- void SetDomains1()
- {
+ void SetDomains1()
+ {
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "domain1.com", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}}
+ new UmbracoDomain("domain1.com") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}}
});
- }
+ }
void SetDomains2()
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "http://domain1.com/foo", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}}
+ new UmbracoDomain("http://domain1.com/foo") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}}
});
}
@@ -44,7 +44,7 @@ namespace Umbraco.Tests.Routing
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "http://domain1.com/", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}}
+ new UmbracoDomain("http://domain1.com/") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}}
});
}
@@ -52,12 +52,12 @@ namespace Umbraco.Tests.Routing
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "http://domain1.com/", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain1.com/en", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain1.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain3.com/", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1003}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain3.com/en", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10031}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain3.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10032}}
+ new UmbracoDomain("http://domain1.com/") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
+ new UmbracoDomain("http://domain1.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
+ new UmbracoDomain("http://domain1.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
+ new UmbracoDomain("http://domain3.com/") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1003}},
+ new UmbracoDomain("http://domain3.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10031}},
+ new UmbracoDomain("http://domain3.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10032}}
});
}
@@ -65,20 +65,20 @@ namespace Umbraco.Tests.Routing
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "http://domain1.com/en", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain1a.com/en", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain1b.com/en", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain1.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain1a.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain1b.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain3.com/en", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10031}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain3.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10032}}
+ new UmbracoDomain("http://domain1.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
+ new UmbracoDomain("http://domain1a.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
+ new UmbracoDomain("http://domain1b.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}},
+ new UmbracoDomain("http://domain1.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
+ new UmbracoDomain("http://domain1a.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
+ new UmbracoDomain("http://domain1b.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10012}},
+ new UmbracoDomain("http://domain3.com/en") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10031}},
+ new UmbracoDomain("http://domain3.com/fr") {Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10032}}
});
}
- protected override string GetXmlContent(int templateId)
- {
- return @"
+ protected override string GetXmlContent(int templateId)
+ {
+ return @"
@@ -157,233 +157,233 @@ namespace Umbraco.Tests.Routing
";
- }
+ }
- // with one simple domain "domain1.com"
- // basic tests
- [TestCase(1001, "http://domain1.com", false, "/")]
- [TestCase(10011, "http://domain1.com", false, "/1001-1/")]
- [TestCase(1002, "http://domain1.com", false, "/1002/")]
- // absolute tests
- [TestCase(1001, "http://domain1.com", true, "http://domain1.com/")]
- [TestCase(10011, "http://domain1.com", true, "http://domain1.com/1001-1/")]
- // different current tests
- [TestCase(1001, "http://domain2.com", false, "http://domain1.com/")]
- [TestCase(10011, "http://domain2.com", false, "http://domain1.com/1001-1/")]
- [TestCase(1001, "https://domain1.com", false, "/")]
- [TestCase(10011, "https://domain1.com", false, "/1001-1/")]
- public void Get_Nice_Url_SimpleDomain(int nodeId, string currentUrl, bool absolute, string expected)
- {
- var settings = SettingsForTests.GenerateMockSettings();
- var request = Mock.Get(settings.RequestHandler);
- request.Setup(x => x.UseDomainPrefixes).Returns(false);
-
- var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
-
- SettingsForTests.UseDirectoryUrls = true;
- SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains
-
- SetDomains1();
-
- var currentUri = new Uri(currentUrl);
- var result = routingContext.UrlProvider.GetUrl(nodeId, currentUri, absolute);
- Assert.AreEqual(expected, result);
- }
-
- // with one complete domain "http://domain1.com/foo"
- // basic tests
- [TestCase(1001, "http://domain1.com", false, "/foo/")]
- [TestCase(10011, "http://domain1.com", false, "/foo/1001-1/")]
- [TestCase(1002, "http://domain1.com", false, "/1002/")]
- // absolute tests
- [TestCase(1001, "http://domain1.com", true, "http://domain1.com/foo/")]
- [TestCase(10011, "http://domain1.com", true, "http://domain1.com/foo/1001-1/")]
- // different current tests
- [TestCase(1001, "http://domain2.com", false, "http://domain1.com/foo/")]
- [TestCase(10011, "http://domain2.com", false, "http://domain1.com/foo/1001-1/")]
- [TestCase(1001, "https://domain1.com", false, "http://domain1.com/foo/")]
- [TestCase(10011, "https://domain1.com", false, "http://domain1.com/foo/1001-1/")]
- public void Get_Nice_Url_SimpleWithSchemeAndPath(int nodeId, string currentUrl, bool absolute, string expected)
- {
+ // with one simple domain "domain1.com"
+ // basic tests
+ [TestCase(1001, "http://domain1.com", false, "/")]
+ [TestCase(10011, "http://domain1.com", false, "/1001-1/")]
+ [TestCase(1002, "http://domain1.com", false, "/1002/")]
+ // absolute tests
+ [TestCase(1001, "http://domain1.com", true, "http://domain1.com/")]
+ [TestCase(10011, "http://domain1.com", true, "http://domain1.com/1001-1/")]
+ // different current tests
+ [TestCase(1001, "http://domain2.com", false, "http://domain1.com/")]
+ [TestCase(10011, "http://domain2.com", false, "http://domain1.com/1001-1/")]
+ [TestCase(1001, "https://domain1.com", false, "/")]
+ [TestCase(10011, "https://domain1.com", false, "/1001-1/")]
+ public void Get_Nice_Url_SimpleDomain(int nodeId, string currentUrl, bool absolute, string expected)
+ {
var settings = SettingsForTests.GenerateMockSettings();
var request = Mock.Get(settings.RequestHandler);
request.Setup(x => x.UseDomainPrefixes).Returns(false);
- var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
+ var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
SettingsForTests.UseDirectoryUrls = true;
SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains
- SetDomains2();
+ SetDomains1();
- var currentUri = new Uri(currentUrl);
- var result = routingContext.UrlProvider.GetUrl(nodeId, currentUri, absolute);
- Assert.AreEqual(expected, result);
- }
+ var currentUri = new Uri(currentUrl);
+ var result = routingContext.UrlProvider.GetUrl(nodeId, currentUri, absolute);
+ Assert.AreEqual(expected, result);
+ }
- // with one domain, not at root
- [TestCase(1001, "http://domain1.com", false, "/1001/")]
- [TestCase(10011, "http://domain1.com", false, "/")]
- [TestCase(100111, "http://domain1.com", false, "/1001-1-1/")]
- [TestCase(1002, "http://domain1.com", false, "/1002/")]
- public void Get_Nice_Url_DeepDomain(int nodeId, string currentUrl, bool absolute, string expected)
- {
+ // with one complete domain "http://domain1.com/foo"
+ // basic tests
+ [TestCase(1001, "http://domain1.com", false, "/foo/")]
+ [TestCase(10011, "http://domain1.com", false, "/foo/1001-1/")]
+ [TestCase(1002, "http://domain1.com", false, "/1002/")]
+ // absolute tests
+ [TestCase(1001, "http://domain1.com", true, "http://domain1.com/foo/")]
+ [TestCase(10011, "http://domain1.com", true, "http://domain1.com/foo/1001-1/")]
+ // different current tests
+ [TestCase(1001, "http://domain2.com", false, "http://domain1.com/foo/")]
+ [TestCase(10011, "http://domain2.com", false, "http://domain1.com/foo/1001-1/")]
+ [TestCase(1001, "https://domain1.com", false, "http://domain1.com/foo/")]
+ [TestCase(10011, "https://domain1.com", false, "http://domain1.com/foo/1001-1/")]
+ public void Get_Nice_Url_SimpleWithSchemeAndPath(int nodeId, string currentUrl, bool absolute, string expected)
+ {
var settings = SettingsForTests.GenerateMockSettings();
var request = Mock.Get(settings.RequestHandler);
request.Setup(x => x.UseDomainPrefixes).Returns(false);
- var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
+ var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
+
+ SettingsForTests.UseDirectoryUrls = true;
+ SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains
+
+ SetDomains2();
+
+ var currentUri = new Uri(currentUrl);
+ var result = routingContext.UrlProvider.GetUrl(nodeId, currentUri, absolute);
+ Assert.AreEqual(expected, result);
+ }
+
+ // with one domain, not at root
+ [TestCase(1001, "http://domain1.com", false, "/1001/")]
+ [TestCase(10011, "http://domain1.com", false, "/")]
+ [TestCase(100111, "http://domain1.com", false, "/1001-1-1/")]
+ [TestCase(1002, "http://domain1.com", false, "/1002/")]
+ public void Get_Nice_Url_DeepDomain(int nodeId, string currentUrl, bool absolute, string expected)
+ {
+ var settings = SettingsForTests.GenerateMockSettings();
+ var request = Mock.Get(settings.RequestHandler);
+ request.Setup(x => x.UseDomainPrefixes).Returns(false);
+
+ var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
SettingsForTests.UseDirectoryUrls = true;
SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains
SetDomains3();
- var currentUri = new Uri(currentUrl);
- var result = routingContext.UrlProvider.GetUrl(nodeId, currentUri, absolute);
- Assert.AreEqual(expected, result);
- }
+ var currentUri = new Uri(currentUrl);
+ var result = routingContext.UrlProvider.GetUrl(nodeId, currentUri, absolute);
+ Assert.AreEqual(expected, result);
+ }
- // with nested domains
- [TestCase(1001, "http://domain1.com", false, "/")]
- [TestCase(10011, "http://domain1.com", false, "/en/")]
- [TestCase(100111, "http://domain1.com", false, "/en/1001-1-1/")]
- [TestCase(10012, "http://domain1.com", false, "/fr/")]
- [TestCase(100121, "http://domain1.com", false, "/fr/1001-2-1/")]
- [TestCase(10013, "http://domain1.com", false, "/1001-3/")]
- [TestCase(1002, "http://domain1.com", false, "/1002/")]
- [TestCase(1003, "http://domain3.com", false, "/")]
- [TestCase(10031, "http://domain3.com", false, "/en/")]
- [TestCase(100321, "http://domain3.com", false, "/fr/1003-2-1/")]
- public void Get_Nice_Url_NestedDomains(int nodeId, string currentUrl, bool absolute, string expected)
- {
+ // with nested domains
+ [TestCase(1001, "http://domain1.com", false, "/")]
+ [TestCase(10011, "http://domain1.com", false, "/en/")]
+ [TestCase(100111, "http://domain1.com", false, "/en/1001-1-1/")]
+ [TestCase(10012, "http://domain1.com", false, "/fr/")]
+ [TestCase(100121, "http://domain1.com", false, "/fr/1001-2-1/")]
+ [TestCase(10013, "http://domain1.com", false, "/1001-3/")]
+ [TestCase(1002, "http://domain1.com", false, "/1002/")]
+ [TestCase(1003, "http://domain3.com", false, "/")]
+ [TestCase(10031, "http://domain3.com", false, "/en/")]
+ [TestCase(100321, "http://domain3.com", false, "/fr/1003-2-1/")]
+ public void Get_Nice_Url_NestedDomains(int nodeId, string currentUrl, bool absolute, string expected)
+ {
var settings = SettingsForTests.GenerateMockSettings();
var request = Mock.Get(settings.RequestHandler);
request.Setup(x => x.UseDomainPrefixes).Returns(false);
- var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
+ var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
SettingsForTests.UseDirectoryUrls = true;
SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains
-
- SetDomains4();
- var currentUri = new Uri(currentUrl);
- var result = routingContext.UrlProvider.GetUrl(nodeId, currentUri, absolute);
- Assert.AreEqual(expected, result);
- }
+ SetDomains4();
- [Test]
- public void Get_Nice_Url_DomainsAndCache()
- {
+ var currentUri = new Uri(currentUrl);
+ var result = routingContext.UrlProvider.GetUrl(nodeId, currentUri, absolute);
+ Assert.AreEqual(expected, result);
+ }
+
+ [Test]
+ public void Get_Nice_Url_DomainsAndCache()
+ {
var settings = SettingsForTests.GenerateMockSettings();
var request = Mock.Get(settings.RequestHandler);
request.Setup(x => x.UseDomainPrefixes).Returns(false);
- var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
+ var routingContext = GetRoutingContext("/test", 1111, umbracoSettings: settings);
SettingsForTests.UseDirectoryUrls = true;
SettingsForTests.HideTopLevelNodeFromPath = false; // ignored w/domains
- SetDomains4();
+ SetDomains4();
- string ignore;
- ignore = routingContext.UrlProvider.GetUrl(1001, new Uri("http://domain1.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(10011, new Uri("http://domain1.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(100111, new Uri("http://domain1.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(10012, new Uri("http://domain1.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(100121, new Uri("http://domain1.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(10013, new Uri("http://domain1.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(1002, new Uri("http://domain1.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(1001, new Uri("http://domain2.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(10011, new Uri("http://domain2.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(100111, new Uri("http://domain2.com"), false);
- ignore = routingContext.UrlProvider.GetUrl(1002, new Uri("http://domain2.com"), false);
+ string ignore;
+ ignore = routingContext.UrlProvider.GetUrl(1001, new Uri("http://domain1.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(10011, new Uri("http://domain1.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(100111, new Uri("http://domain1.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(10012, new Uri("http://domain1.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(100121, new Uri("http://domain1.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(10013, new Uri("http://domain1.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(1002, new Uri("http://domain1.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(1001, new Uri("http://domain2.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(10011, new Uri("http://domain2.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(100111, new Uri("http://domain2.com"), false);
+ ignore = routingContext.UrlProvider.GetUrl(1002, new Uri("http://domain2.com"), false);
var cache = routingContext.UmbracoContext.ContentCache.InnerCache as PublishedContentCache;
if (cache == null) throw new Exception("Unsupported IPublishedContentCache, only the Xml one is supported.");
var cachedRoutes = cache.RoutesCache.GetCachedRoutes();
Assert.AreEqual(7, cachedRoutes.Count);
- var cachedIds = cache.RoutesCache.GetCachedIds();
- Assert.AreEqual(7, cachedIds.Count);
+ var cachedIds = cache.RoutesCache.GetCachedIds();
+ Assert.AreEqual(7, cachedIds.Count);
- CheckRoute(cachedRoutes, cachedIds, 1001, "1001/");
- CheckRoute(cachedRoutes, cachedIds, 10011, "10011/");
- CheckRoute(cachedRoutes, cachedIds, 100111, "10011/1001-1-1");
- CheckRoute(cachedRoutes, cachedIds, 10012, "10012/");
- CheckRoute(cachedRoutes, cachedIds, 100121, "10012/1001-2-1");
- CheckRoute(cachedRoutes, cachedIds, 10013, "1001/1001-3");
- CheckRoute(cachedRoutes, cachedIds, 1002, "/1002");
+ CheckRoute(cachedRoutes, cachedIds, 1001, "1001/");
+ CheckRoute(cachedRoutes, cachedIds, 10011, "10011/");
+ CheckRoute(cachedRoutes, cachedIds, 100111, "10011/1001-1-1");
+ CheckRoute(cachedRoutes, cachedIds, 10012, "10012/");
+ CheckRoute(cachedRoutes, cachedIds, 100121, "10012/1001-2-1");
+ CheckRoute(cachedRoutes, cachedIds, 10013, "1001/1001-3");
+ CheckRoute(cachedRoutes, cachedIds, 1002, "/1002");
- // use the cache
- Assert.AreEqual("/", routingContext.UrlProvider.GetUrl(1001, new Uri("http://domain1.com"), false));
- Assert.AreEqual("/en/", routingContext.UrlProvider.GetUrl(10011, new Uri("http://domain1.com"), false));
- Assert.AreEqual("/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111, new Uri("http://domain1.com"), false));
- Assert.AreEqual("/fr/", routingContext.UrlProvider.GetUrl(10012, new Uri("http://domain1.com"), false));
- Assert.AreEqual("/fr/1001-2-1/", routingContext.UrlProvider.GetUrl(100121, new Uri("http://domain1.com"), false));
- Assert.AreEqual("/1001-3/", routingContext.UrlProvider.GetUrl(10013, new Uri("http://domain1.com"), false));
- Assert.AreEqual("/1002/", routingContext.UrlProvider.GetUrl(1002, new Uri("http://domain1.com"), false));
+ // use the cache
+ Assert.AreEqual("/", routingContext.UrlProvider.GetUrl(1001, new Uri("http://domain1.com"), false));
+ Assert.AreEqual("/en/", routingContext.UrlProvider.GetUrl(10011, new Uri("http://domain1.com"), false));
+ Assert.AreEqual("/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111, new Uri("http://domain1.com"), false));
+ Assert.AreEqual("/fr/", routingContext.UrlProvider.GetUrl(10012, new Uri("http://domain1.com"), false));
+ Assert.AreEqual("/fr/1001-2-1/", routingContext.UrlProvider.GetUrl(100121, new Uri("http://domain1.com"), false));
+ Assert.AreEqual("/1001-3/", routingContext.UrlProvider.GetUrl(10013, new Uri("http://domain1.com"), false));
+ Assert.AreEqual("/1002/", routingContext.UrlProvider.GetUrl(1002, new Uri("http://domain1.com"), false));
- Assert.AreEqual("http://domain1.com/fr/1001-2-1/", routingContext.UrlProvider.GetUrl(100121, new Uri("http://domain2.com"), false));
- }
+ Assert.AreEqual("http://domain1.com/fr/1001-2-1/", routingContext.UrlProvider.GetUrl(100121, new Uri("http://domain2.com"), false));
+ }
- void CheckRoute(IDictionary routes, IDictionary ids, int id, string route)
- {
- Assert.IsTrue(routes.ContainsKey(id));
- Assert.AreEqual(route, routes[id]);
- Assert.IsTrue(ids.ContainsKey(route));
- Assert.AreEqual(id, ids[route]);
- }
+ void CheckRoute(IDictionary routes, IDictionary ids, int id, string route)
+ {
+ Assert.IsTrue(routes.ContainsKey(id));
+ Assert.AreEqual(route, routes[id]);
+ Assert.IsTrue(ids.ContainsKey(route));
+ Assert.AreEqual(id, ids[route]);
+ }
- [Test]
- public void Get_Nice_Url_Relative_Or_Absolute()
- {
+ [Test]
+ public void Get_Nice_Url_Relative_Or_Absolute()
+ {
var settings = SettingsForTests.GenerateMockSettings();
var requestMock = Mock.Get(settings.RequestHandler);
requestMock.Setup(x => x.UseDomainPrefixes).Returns(false);
- var routingContext = GetRoutingContext("http://domain1.com/test", 1111, umbracoSettings: settings);
+ var routingContext = GetRoutingContext("http://domain1.com/test", 1111, umbracoSettings: settings);
SettingsForTests.UseDirectoryUrls = true;
SettingsForTests.HideTopLevelNodeFromPath = false;
- SetDomains4();
-
+ SetDomains4();
+
Assert.AreEqual("/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111));
- Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311));
-
+ Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311));
+
requestMock.Setup(x => x.UseDomainPrefixes).Returns(true);
Assert.AreEqual("http://domain1.com/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111));
- Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311));
+ Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311));
requestMock.Setup(x => x.UseDomainPrefixes).Returns(false);
routingContext.UrlProvider.Mode = UrlProviderMode.Absolute;
- Assert.AreEqual("http://domain1.com/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111));
- Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311));
- }
+ Assert.AreEqual("http://domain1.com/en/1001-1-1/", routingContext.UrlProvider.GetUrl(100111));
+ Assert.AreEqual("http://domain3.com/en/1003-1-1/", routingContext.UrlProvider.GetUrl(100311));
+ }
- [Test]
- public void Get_Nice_Url_Alternate()
- {
+ [Test]
+ public void Get_Nice_Url_Alternate()
+ {
var settings = SettingsForTests.GenerateMockSettings();
- var routingContext = GetRoutingContext("http://domain1.com/en/test", 1111,umbracoSettings:settings);
+ var routingContext = GetRoutingContext("http://domain1.com/en/test", 1111, umbracoSettings: settings);
SettingsForTests.UseDirectoryUrls = true;
SettingsForTests.HideTopLevelNodeFromPath = false;
- SetDomains5();
+ SetDomains5();
- var url = routingContext.UrlProvider.GetUrl(100111, true);
+ var url = routingContext.UrlProvider.GetUrl(100111, true);
Assert.AreEqual("http://domain1.com/en/1001-1-1/", url);
- var result = routingContext.UrlProvider.GetOtherUrls(100111).ToArray();
-
- Assert.AreEqual(2, result.Count());
- Assert.IsTrue(result.Contains("http://domain1a.com/en/1001-1-1/"));
- Assert.IsTrue(result.Contains("http://domain1b.com/en/1001-1-1/"));
- }
- }
+ var result = routingContext.UrlProvider.GetOtherUrls(100111).ToArray();
+
+ Assert.AreEqual(2, result.Count());
+ Assert.IsTrue(result.Contains("http://domain1a.com/en/1001-1-1/"));
+ Assert.IsTrue(result.Contains("http://domain1b.com/en/1001-1-1/"));
+ }
+ }
}
diff --git a/src/Umbraco.Tests/Routing/SiteDomainHelperTests.cs b/src/Umbraco.Tests/Routing/SiteDomainHelperTests.cs
index 9a046925ef..4abbf43e63 100644
--- a/src/Umbraco.Tests/Routing/SiteDomainHelperTests.cs
+++ b/src/Umbraco.Tests/Routing/SiteDomainHelperTests.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using NUnit.Framework;
+using Umbraco.Core.Models;
using Umbraco.Tests.TestHelpers;
using Umbraco.Web.Routing;
using umbraco.cms.businesslogic.web;
@@ -181,8 +182,8 @@ namespace Umbraco.Tests.Routing
var current = new Uri("http://domain1.com/foo/bar");
var output = helper.MapDomain(current, new[]
{
- new DomainAndUri(new MockDomain("domain1.com"), Uri.UriSchemeHttp),
- new DomainAndUri(new MockDomain("domain2.com"), Uri.UriSchemeHttp),
+ new DomainAndUri(new UmbracoDomain("domain1.com"), Uri.UriSchemeHttp),
+ new DomainAndUri(new UmbracoDomain("domain2.com"), Uri.UriSchemeHttp),
}).Uri.ToString();
Assert.AreEqual("http://domain1.com/", output);
@@ -192,8 +193,8 @@ namespace Umbraco.Tests.Routing
current = new Uri("http://domain1.com/foo/bar");
output = helper.MapDomain(current, new[]
{
- new DomainAndUri(new MockDomain("domain1.net"), Uri.UriSchemeHttp),
- new DomainAndUri(new MockDomain("domain2.net"), Uri.UriSchemeHttp)
+ new DomainAndUri(new UmbracoDomain("domain1.net"), Uri.UriSchemeHttp),
+ new DomainAndUri(new UmbracoDomain("domain2.net"), Uri.UriSchemeHttp)
}).Uri.ToString();
Assert.AreEqual("http://domain1.net/", output);
@@ -204,8 +205,8 @@ namespace Umbraco.Tests.Routing
current = new Uri("http://domain1.com/foo/bar");
output = helper.MapDomain(current, new[]
{
- new DomainAndUri(new MockDomain("domain2.net"), Uri.UriSchemeHttp),
- new DomainAndUri(new MockDomain("domain1.net"), Uri.UriSchemeHttp)
+ new DomainAndUri(new UmbracoDomain("domain2.net"), Uri.UriSchemeHttp),
+ new DomainAndUri(new UmbracoDomain("domain1.net"), Uri.UriSchemeHttp)
}).Uri.ToString();
Assert.AreEqual("http://domain1.net/", output);
}
@@ -231,11 +232,11 @@ namespace Umbraco.Tests.Routing
var current = new Uri("http://domain1.com/foo/bar");
var output = helper.MapDomains(current, new[]
{
- new DomainAndUri(new MockDomain("domain1.com"), Uri.UriSchemeHttp), // no: current + what MapDomain would pick
- new DomainAndUri(new MockDomain("domain2.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain3.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain4.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain1.org"), Uri.UriSchemeHttp), // yes: same site (though bogus setup)
+ new DomainAndUri(new UmbracoDomain("domain1.com"), Uri.UriSchemeHttp), // no: current + what MapDomain would pick
+ new DomainAndUri(new UmbracoDomain("domain2.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain3.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain4.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain1.org"), Uri.UriSchemeHttp), // yes: same site (though bogus setup)
}, true).ToArray();
Assert.AreEqual(1, output.Count());
@@ -246,11 +247,11 @@ namespace Umbraco.Tests.Routing
current = new Uri("http://domain1.com/foo/bar");
output = helper.MapDomains(current, new[]
{
- new DomainAndUri(new MockDomain("domain1.net"), Uri.UriSchemeHttp), // no: what MapDomain would pick
- new DomainAndUri(new MockDomain("domain2.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain3.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain4.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain1.org"), Uri.UriSchemeHttp), // yes: same site (though bogus setup)
+ new DomainAndUri(new UmbracoDomain("domain1.net"), Uri.UriSchemeHttp), // no: what MapDomain would pick
+ new DomainAndUri(new UmbracoDomain("domain2.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain3.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain4.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain1.org"), Uri.UriSchemeHttp), // yes: same site (though bogus setup)
}, true).ToArray();
Assert.AreEqual(1, output.Count());
@@ -264,12 +265,12 @@ namespace Umbraco.Tests.Routing
current = new Uri("http://domain1.com/foo/bar");
output = helper.MapDomains(current, new[]
{
- new DomainAndUri(new MockDomain("domain1.com"), Uri.UriSchemeHttp), // no: current + what MapDomain would pick
- new DomainAndUri(new MockDomain("domain2.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain3.com"), Uri.UriSchemeHttp), // yes: bound site
- new DomainAndUri(new MockDomain("domain3.org"), Uri.UriSchemeHttp), // yes: bound site
- new DomainAndUri(new MockDomain("domain4.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain1.org"), Uri.UriSchemeHttp), // yes: same site (though bogus setup)
+ new DomainAndUri(new UmbracoDomain("domain1.com"), Uri.UriSchemeHttp), // no: current + what MapDomain would pick
+ new DomainAndUri(new UmbracoDomain("domain2.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain3.com"), Uri.UriSchemeHttp), // yes: bound site
+ new DomainAndUri(new UmbracoDomain("domain3.org"), Uri.UriSchemeHttp), // yes: bound site
+ new DomainAndUri(new UmbracoDomain("domain4.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain1.org"), Uri.UriSchemeHttp), // yes: same site (though bogus setup)
}, true).ToArray();
Assert.AreEqual(3, output.Count());
@@ -282,12 +283,12 @@ namespace Umbraco.Tests.Routing
current = new Uri("http://domain1.com/foo/bar");
output = helper.MapDomains(current, new[]
{
- new DomainAndUri(new MockDomain("domain1.net"), Uri.UriSchemeHttp), // no: what MapDomain would pick
- new DomainAndUri(new MockDomain("domain2.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain3.com"), Uri.UriSchemeHttp), // yes: bound site
- new DomainAndUri(new MockDomain("domain3.org"), Uri.UriSchemeHttp), // yes: bound site
- new DomainAndUri(new MockDomain("domain4.com"), Uri.UriSchemeHttp), // no: not same site
- new DomainAndUri(new MockDomain("domain1.org"), Uri.UriSchemeHttp), // yes: same site (though bogus setup)
+ new DomainAndUri(new UmbracoDomain("domain1.net"), Uri.UriSchemeHttp), // no: what MapDomain would pick
+ new DomainAndUri(new UmbracoDomain("domain2.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain3.com"), Uri.UriSchemeHttp), // yes: bound site
+ new DomainAndUri(new UmbracoDomain("domain3.org"), Uri.UriSchemeHttp), // yes: bound site
+ new DomainAndUri(new UmbracoDomain("domain4.com"), Uri.UriSchemeHttp), // no: not same site
+ new DomainAndUri(new UmbracoDomain("domain1.org"), Uri.UriSchemeHttp), // yes: same site (though bogus setup)
}, true).ToArray();
Assert.AreEqual(3, output.Count());
@@ -296,14 +297,14 @@ namespace Umbraco.Tests.Routing
Assert.Contains("http://domain3.org/", output.Select(d => d.Uri.ToString()).ToArray());
}
- class MockDomain : Domain
- {
- private static readonly FieldInfo NameField = typeof (Domain).GetField("_name", BindingFlags.Instance | BindingFlags.NonPublic);
+ //class MockDomain : Domain
+ //{
+ // private static readonly FieldInfo NameField = typeof (Domain).GetField("_name", BindingFlags.Instance | BindingFlags.NonPublic);
- public MockDomain(string name)
- {
- NameField.SetValue(this, name);
- }
- }
+ // public MockDomain(string name)
+ // {
+ // NameField.SetValue(this, name);
+ // }
+ //}
}
}
diff --git a/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs b/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs
index 86e5edc833..089f78ac3e 100644
--- a/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs
+++ b/src/Umbraco.Tests/Routing/UrlRoutingTestBase.cs
@@ -40,9 +40,9 @@ namespace Umbraco.Tests.Routing
domainService.Setup(service => service.GetAll(It.IsAny()))
.Returns((bool incWildcards) => new[]
{
- new UmbracoDomain{Id = 1,DomainName = "domain1.com/", Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)){ Id = 1001}},
- new UmbracoDomain{Id = 1,DomainName = "domain1.com/en", Language = new Language("en-US"), RootContent = new Content("test2", -1, new ContentType(-1)){ Id = 10011}},
- new UmbracoDomain{Id = 1,DomainName = "domain1.com/fr", Language = new Language("fr-FR"), RootContent = new Content("test3", -1, new ContentType(-1)){ Id = 10012}}
+ new UmbracoDomain("domain1.com/"){Id = 1, Language = new Language("de-DE"), RootContent = new Content("test1", -1, new ContentType(-1)){ Id = 1001}},
+ new UmbracoDomain("domain1.com/en"){Id = 1, Language = new Language("en-US"), RootContent = new Content("test2", -1, new ContentType(-1)){ Id = 10011}},
+ new UmbracoDomain("domain1.com/fr"){Id = 1, Language = new Language("fr-FR"), RootContent = new Content("test3", -1, new ContentType(-1)){ Id = 10012}}
});
return svcCtx;
}
diff --git a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs
index 9cd4474dcb..1378cd3547 100644
--- a/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs
+++ b/src/Umbraco.Tests/Routing/UrlsWithNestedDomains.cs
@@ -80,8 +80,8 @@ namespace Umbraco.Tests.Routing
{
SetupDomainServiceMock(new[]
{
- new UmbracoDomain {Id = 1, DomainName = "http://domain1.com/", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
- new UmbracoDomain {Id = 1, DomainName = "http://domain2.com/", Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}}
+ new UmbracoDomain("http://domain1.com/") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 1001}},
+ new UmbracoDomain("http://domain2.com/") {Id = 1, Language = new Language("en-US"), RootContent = new Content("test1", -1, new ContentType(-1)) {Id = 10011}}
});
}
diff --git a/src/Umbraco.Tests/Services/LocalizedTextServiceTests.cs b/src/Umbraco.Tests/Services/LocalizedTextServiceTests.cs
index 0bcf7a2dd8..17e58fb408 100644
--- a/src/Umbraco.Tests/Services/LocalizedTextServiceTests.cs
+++ b/src/Umbraco.Tests/Services/LocalizedTextServiceTests.cs
@@ -41,7 +41,7 @@ namespace Umbraco.Tests.Services
},
}
}
- });
+ }, Mock.Of());
var result = txtService.GetAllStoredValues(culture);
@@ -130,7 +130,7 @@ namespace Umbraco.Tests.Services
}
}
}
- });
+ }, Mock.Of());
var result = txtService.Localize("testArea/testKey", culture);
@@ -155,7 +155,7 @@ namespace Umbraco.Tests.Services
}
}
}
- });
+ }, Mock.Of());
var result = txtService.Localize("testKey", culture);
@@ -180,7 +180,7 @@ namespace Umbraco.Tests.Services
}
}
}
- });
+ }, Mock.Of());
var result = txtService.Localize("testArea/doNotFind", culture);
@@ -206,7 +206,7 @@ namespace Umbraco.Tests.Services
}
}
}
- });
+ }, Mock.Of());
var result = txtService.Localize("doNotFind", culture);
@@ -231,7 +231,7 @@ namespace Umbraco.Tests.Services
}
}
}
- });
+ }, Mock.Of());
var result = txtService.Localize("testKey", culture,
new Dictionary { { "0", "world" }, { "1", "great" }, { "2", "planet" } });
@@ -359,7 +359,7 @@ namespace Umbraco.Tests.Services
}
}
}
- });
+ }, Mock.Of());
Assert.AreEqual("[testKey]", txtService.Localize("testArea/testKey", CultureInfo.GetCultureInfo("en-AU")));
}
diff --git a/src/Umbraco.Tests/TestHelpers/Stubs/TestControllerFactory.cs b/src/Umbraco.Tests/TestHelpers/Stubs/TestControllerFactory.cs
index 723f621356..91ca2b1e0f 100644
--- a/src/Umbraco.Tests/TestHelpers/Stubs/TestControllerFactory.cs
+++ b/src/Umbraco.Tests/TestHelpers/Stubs/TestControllerFactory.cs
@@ -1,9 +1,11 @@
using System;
+using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Web.Mvc;
using System.Web.Routing;
using System.Web.SessionState;
+using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Logging;
using Umbraco.Web;
@@ -34,20 +36,26 @@ namespace Umbraco.Tests.TestHelpers.Stubs
if (t == null)
return null;
+ var possibleParams = new object[]
+ {
+ _umbracoContext, _logger
+ };
var ctors = t.GetConstructors();
- if (ctors.Any(x =>
+ foreach (var ctor in ctors.OrderByDescending(x => x.GetParameters().Count()))
{
- var parameters = x.GetParameters();
- if (parameters.Length != 2) return false;
- return parameters.First().ParameterType == typeof (ILogger) && parameters.Last().ParameterType == typeof (UmbracoContext);
- }))
- {
- return Activator.CreateInstance(t, new object[]{_logger, _umbracoContext}) as IController;
- }
- else
- {
- return Activator.CreateInstance(t) as IController;
+ var args = new List