public void ToStringReturnsTheSameStringAsUriAbsoluteUri() { var builder = FluentUriBuilder.From(TestData.Uri); var uri = new Uri(TestData.Uri); builder.ToString().Should().Be(uri.AbsoluteUri); }
public void GetsQueryParamValueUsingFrom() { FluentUriBuilder.From(fullTestUri) .GetParam("somekey") .Should() .Be("some%2bvalue"); }
public void ExistingCredentialsAreDeletedIfRemoveCredentialsIsCalled() { FluentUriBuilder.From(TestData.Uri) .RemoveCredentials() .ToUri() .UserInfo .Should().Be(string.Empty); }
public void ExistingPathIsDeletedIfEmptyFragmentSpecified() { FluentUriBuilder.From(fullTestUri) .Path(string.Empty) .ToUri() .LocalPath .Should().Be("/"); }
public void ExistingSchemeIsUpdated(UriScheme scheme, string expectedScheme) { FluentUriBuilder.From(fullTestUri) .Scheme(scheme) .ToUri() .Scheme .Should().Be(expectedScheme); }
public void ExistingFragmentIsDeletedIfRemoveFragmentIsCalled() { FluentUriBuilder.From(fullTestUri) .RemoveFragment() .ToUri() .Fragment .Should().Be(string.Empty); }
public void ExistingFragmentIsDeletedIfEmptyFragmentSpecified() { FluentUriBuilder.From(fullTestUri) .Fragment(string.Empty) .ToUri() .Fragment .Should().Be(string.Empty); }
public void ExistingPortIsDeletedIfProtocolDefaultPortSpecified() { FluentUriBuilder.From("ftp://example.com:9999") .DefaultPort() .ToUri() .Port .Should().Be(21); }
public void ExistingPortIsDeletedIfRemovePortCalled() { FluentUriBuilder.From("ftp://example.com:9999") .RemovePort() .ToUri() .Port .Should().Be(21); }
public void ExistingPathIsDeletedIfRemovePathCalled() { FluentUriBuilder.From(fullTestUri) .RemovePath() .ToUri() .LocalPath .Should().Be("/"); }
public void ProtocolDefaultPortIsUsedIfPortIsMinus1() { FluentUriBuilder.From(TestData.Uri) .Port(-1) .ToUri() .Port .Should().Be(80); }
public void EmptyQueryParamsObjectAddsNoQueryParams() { var uri = "http://example.com/"; FluentUriBuilder.From(uri) .QueryParams(new { }) .ToString() .Should().Be(uri); }
public void EmptyQueryParamsDictionaryAddsNoQueryParams() { var uri = "http://example.com/"; FluentUriBuilder.From(uri) .QueryParams(new Dictionary <string, object>()) .ToString() .Should().Be(uri); }
public void QueryParamUsedFromSinglePropertyObject() { var uri = "http://example.com"; var expectedUri = "http://example.com/?param=value"; FluentUriBuilder.From(uri) .QueryParams(new { param = "value" }) .ToString() .Should().Be(expectedUri); }
public void AddingAQueryParamClearsExistingQueryParams() { var uri = "http://example.com?oldparam=oldvalue"; FluentUriBuilder.From(uri) .QueryParam("testkey", "testvalue") .ToUri() .Query .Should().Be("?testkey=testvalue"); }
public void QueryParamsAreUrlEncoded() { var uri = "http://example.com"; FluentUriBuilder.From(uri) .QueryParam("testkey", ":?&=#/@") .ToUri() .Query .Should().Be("?testkey=%3a%3f%26%3d%23%2f%40"); }
public void SingleQueryParamIsUsed() { var uri = "http://example.com"; FluentUriBuilder.From(uri) .QueryParam("testkey", "testvalue") .ToUri() .Query .Should().Be("?testkey=testvalue"); }
public void MultipleQueryParamsAreUsedFromMultiPropertyObject() { var uri = "http://example.com"; var expectedUri = "http://example.com/?param=value&otherparam=othervalue"; FluentUriBuilder.From(uri) .QueryParams(new { param = "value", otherparam = "othervalue" }) .ToString() .Should().Be(expectedUri); }
public void ExistingQueryParamsAreDeletedWhenQueryParamsObjectIsUsed() { var uri = "http://example.com?oldparam=oldvalue"; var expectedUri = "http://example.com/?param=value"; FluentUriBuilder.From(uri) .QueryParams(new { param = "value" }) .ToString() .Should().Be(expectedUri); }
public void ExistingFragmentIsUpdated() { var fragment = "test"; FluentUriBuilder.From(fullTestUri) .Fragment(fragment) .ToUri() .Fragment .Should().Be("#" + fragment); }
public void EmptyQueryParamsObjectClearsExistingQueryParams() { var uri = "http://example.com?param=value"; var expectedUri = "http://example.com/"; FluentUriBuilder.From(uri) .QueryParams(new { }) .ToString() .Should().Be(expectedUri); }
public void ExistingPortIsUpdated() { var port = 1337; FluentUriBuilder.From(TestData.Uri) .Port(port) .ToUri() .Port .Should().Be(port); }
public void ExistingPathIsUpdated() { var path = "/just/a/path.extension"; FluentUriBuilder.From(fullTestUri) .Path(path) .ToUri() .LocalPath .Should().Be(path); }
public void RemoveQueryParamsClearsExistingQueryParams() { var uri = "http://example.com?param=value&otherparam=othervalue"; var expectedUri = "http://example.com/"; FluentUriBuilder.From(uri) .RemoveQueryParams() .ToString() .Should().Be(expectedUri); }
public void ExistingHostIsUpdated() { var host = "subdomain.domain.hu"; FluentUriBuilder.From(TestData.Uri) .Host(host) .ToUri() .Host .Should().Be(host); }
public void PortIsUsedIfSpecified() { var port = 1337; var exampleUriWithoutPort = "http://*****:*****@example.com/path/to?somekey=some%2bvalue&otherkey=some%2bvalue#fragment"; FluentUriBuilder.From(exampleUriWithoutPort) .Port(port) .ToUri() .Port .Should().Be(port); }
public void MultipleQueryParamsAreUsed() { var uri = "http://example.com"; FluentUriBuilder.From(uri) .QueryParam("testkey", "testvalue") .QueryParam("anotherkey", "anothervalue") .ToUri() .Query .Should().Be("?testkey=testvalue&anotherkey=anothervalue"); }
public void FragmentIsUsedIfSpecified() { var fragment = "fragment"; var exampleUriWithoutFragment = "http://*****:*****@example.com:888/path/to?somekey=some%2bvalue&otherkey=some%2bvalue"; FluentUriBuilder.From(exampleUriWithoutFragment) .Fragment(fragment) .ToUri() .Fragment .Should().Be("#" + fragment); }
public void PathIsUsedIfSpecified() { var path = "/just/a/path.extension"; var exampleUriWithoutPath = "http://*****:*****@example.com:888?somekey=some%2bvalue&otherkey=some%2bvalue#fragment"; FluentUriBuilder.From(exampleUriWithoutPath) .Path(path) .ToUri() .LocalPath .Should().Be(path); }
public void QueryParamValuesCanBeOfAnyType() { var uri = "http://example.com"; FluentUriBuilder.From(uri) .QueryParam("testkey", 1) .QueryParam("anotherkey", 2.5) .ToUri() .Query .Should().Be("?testkey=1&anotherkey=2.5"); }