Пример #1
0
        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");
 }
Пример #3
0
 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);
 }
Пример #8
0
 public void ExistingPortIsDeletedIfProtocolDefaultPortSpecified()
 {
     FluentUriBuilder.From("ftp://example.com:9999")
     .DefaultPort()
     .ToUri()
     .Port
     .Should().Be(21);
 }
Пример #9
0
 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("/");
 }
Пример #11
0
 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);
        }
Пример #22
0
        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);
        }
Пример #24
0
        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);
        }
Пример #25
0
        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);
        }
Пример #30
0
        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");
        }