public void MapDomainWithScheme() { SiteDomainMapper siteDomainMapper = CreateSut(); siteDomainMapper.AddSite("site1", "domain1.com", "domain1.net", "domain1.org"); siteDomainMapper.AddSite("site2", "domain2.com", "domain2.net", "domain2.org"); siteDomainMapper.AddSite("site3", "domain3.com", "domain3.net", "domain3.org"); siteDomainMapper.AddSite("site4", "https://domain4.com", "https://domain4.net", "https://domain4.org"); var current = new Uri("https://domain1.com/foo/bar"); Domain[] domains = new[] { new Domain(1, "domain2.com", -1, s_cultureFr, false), new Domain(1, "domain1.com", -1, s_cultureGb, false), }; DomainAndUri[] domainAndUris = DomainAndUris(current, domains); string output = siteDomainMapper.MapDomain(domainAndUris, current, s_cultureFr, s_cultureFr).Uri.ToString(); Assert.AreEqual("https://domain1.com/", output); // will pick it all right current = new Uri("https://domain1.com/foo/bar"); domains = new[] { new Domain(1, "https://domain1.com", -1, s_cultureFr, false), new Domain(1, "https://domain2.com", -1, s_cultureGb, false) }; domainAndUris = DomainAndUris(current, domains); output = siteDomainMapper.MapDomain(domainAndUris, current, s_cultureFr, s_cultureFr).Uri.ToString(); Assert.AreEqual("https://domain1.com/", output); current = new Uri("https://domain1.com/foo/bar"); domains = new[] { new Domain(1, "https://domain1.com", -1, s_cultureFr, false), new Domain(1, "https://domain4.com", -1, s_cultureGb, false) }; domainAndUris = DomainAndUris(current, domains); output = siteDomainMapper.MapDomain(domainAndUris, current, s_cultureFr, s_cultureFr).Uri.ToString(); Assert.AreEqual("https://domain1.com/", output); current = new Uri("https://domain4.com/foo/bar"); domains = new[] { new Domain(1, "https://domain1.com", -1, s_cultureFr, false), new Domain(1, "https://domain4.com", -1, s_cultureGb, false) }; domainAndUris = DomainAndUris(current, domains); output = siteDomainMapper.MapDomain(domainAndUris, current, s_cultureFr, s_cultureFr).Uri.ToString(); Assert.AreEqual("https://domain4.com/", output); }
public void MapDomain() { SiteDomainMapper siteDomainMapper = CreateSut(); siteDomainMapper.AddSite("site1", "domain1.com", "domain1.net", "domain1.org"); siteDomainMapper.AddSite("site2", "domain2.com", "domain2.net", "domain2.org"); siteDomainMapper.AddSite("site3", "domain3.com", "domain3.net", "domain3.org"); siteDomainMapper.AddSite("site4", "domain4.com", "domain4.net", "domain4.org"); // current is a site1 uri, domains contain current // so we'll get current var current = new Uri("http://domain1.com/foo/bar"); string output = siteDomainMapper.MapDomain( new[] { new DomainAndUri(new Domain(1, "domain1.com", -1, s_cultureFr, false), current), new DomainAndUri(new Domain(1, "domain2.com", -1, s_cultureGb, false), current), }, current, s_cultureFr, s_cultureFr).Uri.ToString(); Assert.AreEqual("http://domain1.com/", output); // current is a site1 uri, domains do not contain current // so we'll get the corresponding site1 domain current = new Uri("http://domain1.com/foo/bar"); output = siteDomainMapper.MapDomain( new[] { new DomainAndUri(new Domain(1, "domain1.net", -1, s_cultureFr, false), current), new DomainAndUri(new Domain(1, "domain2.net", -1, s_cultureGb, false), current) }, current, s_cultureFr, s_cultureFr).Uri.ToString(); Assert.AreEqual("http://domain1.net/", output); // current is a site1 uri, domains do not contain current // so we'll get the corresponding site1 domain // order does not matter current = new Uri("http://domain1.com/foo/bar"); output = siteDomainMapper.MapDomain( new[] { new DomainAndUri(new Domain(1, "domain2.net", -1, s_cultureFr, false), current), new DomainAndUri(new Domain(1, "domain1.net", -1, s_cultureGb, false), current) }, current, s_cultureFr, s_cultureFr).Uri.ToString(); Assert.AreEqual("http://domain1.net/", output); }