public void IgnoresNullQueryParamArrayValuesWhenUsingToString() { var requestInfo = new RequestInfo(HttpMethod.Get, null); requestInfo.AddQueryCollectionParameter<object>(QuerySerializationMethod.ToString, "foo", new[] { "bar", null, "baz" }); var uri = this.requester.ConstructUri("/foo", requestInfo); Assert.Equal(new Uri("http://api.example.com/base/foo?foo=bar&foo=baz"), uri); }
public void IgnoresNullQueryParamArrayValuesWhenUsingToString() { var requestInfo = new RequestInfo(HttpMethod.Get, null); requestInfo.AddQueryCollectionParameter <object>(QuerySerializationMethod.ToString, "foo", new[] { "bar", null, "baz" }); var uri = this.requester.ConstructUri(null, "/foo", requestInfo); Assert.Equal(new Uri("http://api.example.com/base/foo?foo=bar&foo=baz"), uri); }
public void CallsToStringOnEachNonNullElementForToStringSerializationMethodOnCollections() { var requestInfo = new RequestInfo(HttpMethod.Get, null); var objectMock1 = new Mock <HasToString>(); var objectMock2 = new Mock <HasToString>(); objectMock1.Setup(x => x.ToString()).Returns("BOOM1").Verifiable(); objectMock2.Setup(x => x.ToString()).Returns("BOOM2").Verifiable(); requestInfo.AddQueryCollectionParameter(QuerySerializationMethod.ToString, "bar", new[] { objectMock1.Object, null, objectMock2.Object }); var uri = this.requester.ConstructUri(null, "/foo", requestInfo); Assert.Equal(new Uri("http://api.example.com/base/foo?bar=BOOM1&bar=BOOM2"), uri); objectMock1.VerifyAll(); objectMock2.VerifyAll(); }
public void DoesNotIgnoreNullQueryParamArraysWhenUsingSerializer() { var requestInfo = new RequestInfo(HttpMethod.Get, null); requestInfo.AddQueryCollectionParameter<object>(QuerySerializationMethod.Serialized, "bar", null); var queryParameterSerializer = new Mock<IRequestQueryParamSerializer>(); queryParameterSerializer.Setup(x => x.SerializeQueryCollectionParam<object>("bar", null)) .Returns(new[] { new KeyValuePair<string, string>("bar", "foo") }) .Verifiable(); this.requester.RequestQueryParamSerializer = queryParameterSerializer.Object; var uri = this.requester.ConstructUri("/foo", requestInfo); Assert.Equal(new Uri("http://api.example.com/base/foo?bar=foo"), uri); queryParameterSerializer.VerifyAll(); }
public void PassesFormatWhenSerializingCollections() { var obj = new HasToString(); var requestInfo = new RequestInfo(HttpMethod.Get, null); requestInfo.AddQueryCollectionParameter(QuerySerializationMethod.Serialized, "bar", new[] { obj }, "D4"); var serializer = new Mock <RequestQueryParamSerializer>(); serializer.Setup(x => x.SerializeQueryCollectionParam <HasToString>("bar", new[] { obj }, new RequestQueryParamSerializerInfo(requestInfo, "D4", null))) .Returns(new[] { new KeyValuePair <string, string>("bar", "BOOMYAY"), new KeyValuePair <string, string>("bar", "BOOMWOO") }) .Verifiable(); this.requester.RequestQueryParamSerializer = serializer.Object; var uri = this.requester.ConstructUri(null, "/foo", requestInfo); serializer.VerifyAll(); }
public void DoesNotIgnoreNullQueryParamArraysWhenUsingSerializer() { var requestInfo = new RequestInfo(HttpMethod.Get, null); requestInfo.AddQueryCollectionParameter <object>(QuerySerializationMethod.Serialized, "bar", null); var queryParameterSerializer = new Mock <RequestQueryParamSerializer>(); queryParameterSerializer.Setup(x => x.SerializeQueryCollectionParam <object>("bar", null, It.IsAny <RequestQueryParamSerializerInfo>())) .Returns(new[] { new KeyValuePair <string, string>("bar", "foo") }) .Verifiable(); this.requester.RequestQueryParamSerializer = queryParameterSerializer.Object; var uri = this.requester.ConstructUri(null, "/foo", requestInfo); Assert.Equal(new Uri("http://api.example.com/base/foo?bar=foo"), uri); queryParameterSerializer.VerifyAll(); }
public void SerializesUsingSerializerForSerializedSerializationMethodOnCollections() { var obj = new HasToString(); var requestInfo = new RequestInfo(HttpMethod.Get, null); requestInfo.AddQueryCollectionParameter(QuerySerializationMethod.Serialized, "bar", new[] { obj }); var serializer = new Mock <RequestQueryParamSerializer>(); serializer.Setup(x => x.SerializeQueryCollectionParam <HasToString>("bar", new[] { obj }, It.IsAny <RequestQueryParamSerializerInfo>())) .Returns(new[] { new KeyValuePair <string, string>("bar", "BOOMYAY"), new KeyValuePair <string, string>("bar", "BOOMWOO") }) .Verifiable(); this.requester.RequestQueryParamSerializer = serializer.Object; var uri = this.requester.ConstructUri(null, "/foo", requestInfo); serializer.VerifyAll(); Assert.Equal(new Uri("http://api.example.com/base/foo?bar=BOOMYAY&bar=BOOMWOO"), uri); }
public void SerializesUsingSerializerForSerializedSerializationMethodOnCollections() { var obj = new HasToString(); var requestInfo = new RequestInfo(HttpMethod.Get, null); requestInfo.AddQueryCollectionParameter(QuerySerializationMethod.Serialized, "bar", new[] { obj }); var serializer = new Mock<IRequestQueryParamSerializer>(); serializer.Setup(x => x.SerializeQueryCollectionParam<HasToString>("bar", new[] { obj })) .Returns(new[] { new KeyValuePair<string, string>("bar", "BOOMYAY"), new KeyValuePair<string, string>("bar", "BOOMWOO") }) .Verifiable(); this.requester.RequestQueryParamSerializer = serializer.Object; var uri = this.requester.ConstructUri("/foo", requestInfo); serializer.VerifyAll(); Assert.Equal(new Uri("http://api.example.com/base/foo?bar=BOOMYAY&bar=BOOMWOO"), uri); }
public void CallsToStringOnEachNonNullElementForToStringSerializationMethodOnCollections() { var requestInfo = new RequestInfo(HttpMethod.Get, null); var objectMock1 = new Mock<HasToString>(); var objectMock2 = new Mock<HasToString>(); objectMock1.Setup(x => x.ToString()).Returns("BOOM1").Verifiable(); objectMock2.Setup(x => x.ToString()).Returns("BOOM2").Verifiable(); requestInfo.AddQueryCollectionParameter(QuerySerializationMethod.ToString, "bar", new[] { objectMock1.Object, null, objectMock2.Object }); var uri = this.requester.ConstructUri("/foo", requestInfo); Assert.Equal(new Uri("http://api.example.com/base/foo?bar=BOOM1&bar=BOOM2"), uri); objectMock1.VerifyAll(); objectMock2.VerifyAll(); }