public void CanonicaliseUrl_ShouldChangeProtocolToMatchExpected(string inputUrl, bool enableHttps, string expectedResult) { var service = new CanonicalService { HostName = "example.com", EnableHttps = enableHttps }; var result = service.CanonicaliseUrl(inputUrl); result.Should().Be(expectedResult); }
public void CanonicaliseUrl_ShouldLowercaseQueryKey_ButNotQueryValue(string inputUrl, string expectedResult) { var parsedHost = new Uri(inputUrl).Host; var service = new CanonicalService { HostName = parsedHost, EnableTrailingSlash = false, EnableLowerCase = true, }; var result = service.CanonicaliseUrl(inputUrl); result.Should().Be(expectedResult); }
public void CanonicaliseUrl_ShouldReturnSameResult_WhenCanonical( string hostName, bool enableTrailingSlash, bool enableLowerCase, string inputUrl) { var service = new CanonicalService { HostName = hostName, EnableTrailingSlash = enableTrailingSlash, EnableLowerCase = enableLowerCase, }; var result = service.CanonicaliseUrl(inputUrl); result.Should().Be(expected: inputUrl); }
public void CanonicaliseUrl_ShouldTrimTrailingSlashes_WhenEnabled(string inputUrl, string expectedResult) { var parsedHost = new Uri(inputUrl).Host; var service = new CanonicalService { HostName = parsedHost, EnableTrailingSlash = false, EnableLowerCase = true, }; var result = service.CanonicaliseUrl(inputUrl); result.Should().Be(expectedResult); }
public void CanonicaliseUrl_ShouldProduceResult_WhenCallingOverrides() { var inputUrl = new Uri("https://example.com/Ok/Hi/"); var expectedResult = "https://example.com/ok/hi"; var service = new CanonicalService { HostName = "example.com", EnableTrailingSlash = false, EnableLowerCase = true, }; var result = service.CanonicaliseUrl(inputUrl); result.Should().Be(expectedResult); }
public void CanonicaliseUrl_ShouldRemovePort_WhenDefault(string inputUrl, bool expectedPortRemoved) { var service = new CanonicalService { HostName = "example.com", EnableTrailingSlash = true, EnableLowerCase = true, }; var result = service.CanonicaliseUrl(inputUrl); if (expectedPortRemoved) { result.Should().NotMatchRegex(@":\d+"); } else { result.Should().MatchRegex(@":\d+"); } }