public void RequestMessage_Uri_Determined_By_To_Header() { HttpRequestMessage innerRequest = new HttpRequestMessage(); innerRequest.RequestUri = new Uri("http://notThisUri.org"); Message innerMessage = new HttpMessage(innerRequest); HttpRequestMessageProperty property = new HttpRequestMessageProperty(); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, property); innerMessage.Headers.To = new Uri("http://thisUri.org"); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; HttpRequestMessage request = message.ToHttpRequestMessage(); Assert.AreEqual(new Uri("http://thisUri.org").ToString(), request.RequestUri.ToString(), "HttpRequestMessage.Uri should have been set to the 'To' header value of the inner RequestContext message."); }
public void RequestMessage_Throws_If_HttpRequestMessageProperty_Not_Present() { Message innerMessage = Message.CreateMessage(MessageVersion.None, string.Empty); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); ExceptionAssert.Throws( typeof(InvalidOperationException), "HttpMessageEncodingRequestContext.RequestMessage should have thrown since there was no HttpRequestMessageProperty.", () => { Message message = requestContext.RequestMessage; }); }
public void RequestMessage_Throws_If_To_Header_Not_Present() { Message innerMessage = Message.CreateMessage(MessageVersion.None, string.Empty); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); ExceptionAssert.Throws( typeof(InvalidOperationException), "HttpMessageEncodingRequestContext.RequestMessage should have thrown since there was no To header.", () => { Message message = requestContext.RequestMessage; }); }
public void RequestMessage_Returns_Same_HttpMessage_Sans_HttpRequestMessageProperty_Instance_When_Inner_Request_Is_HttpMessage() { HttpRequestMessage innerRequest = new HttpRequestMessage(); Message innerMessage = new HttpMessage(innerRequest); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; Assert.IsFalse(message.Properties.Keys.Contains(HttpResponseMessageProperty.Name), "The HttpMessage instance should not have had an HttpRequestMessageProperty."); }
public void RequestMessage_Returns_Same_Instance_Everytime() { Message innerMessage = Message.CreateMessage(MessageVersion.None, string.Empty); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; Message message2 = requestContext.RequestMessage; Assert.AreSame(message, message2, "HttpMessageEncodingRequestContext.RequestMessage should have returned the same instance everytime."); }
public void RequestMessage_Returns_Same_HttpContent_Instance_When_Inner_Request_Is_HttpMessage() { HttpRequestMessage innerRequest = new HttpRequestMessage(); innerRequest.Content = new ByteArrayContent(new byte[5] { 1, 2, 3, 4, 5 }); Message innerMessage = new HttpMessage(innerRequest); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; HttpRequestMessage request = message.ToHttpRequestMessage(); Assert.AreSame(innerRequest.Content, request.Content, "The HttpRequestMessage.Content should not have been changed by the HttpMessageEncodingRequestContext."); }
public void RequestMessage_Returns_Same_HttpMessage_Instance_When_Inner_Request_Is_HttpMessage() { HttpRequestMessage innerRequest = new HttpRequestMessage(); Message innerMessage = new HttpMessage(innerRequest); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; HttpRequestMessage request = message.ToHttpRequestMessage(); Assert.IsNotNull(message, "HttpMessageEncodingRequestContext.RequestMessage should not have returned null."); Assert.IsInstanceOfType(message, typeof(HttpMessage), "HttpMessageEncodingRequestContext.RequestMessage should not returned an HttpMessage instance."); Assert.AreSame(innerMessage, message, "HttpMessageEncodingRequestContext.RequestMessage should have returned the same instance as the inner context's RequestMessage."); Assert.IsNotNull(request, "ToHttpRequestMessage should have returned an HttpRequestMessage instance."); Assert.AreSame(innerRequest, request, "HttpMessageEncodingRequestContext.RequestMessage should have returned the same HttpRequestMessage instance as the inner context."); }
public void RequestMessage_Returns_HttpMessage_With_HttpRequestHeaders_Only_From_The_HttpRequestMessageProperty() { HttpRequestMessage innerRequest = new HttpRequestMessage(); innerRequest.Content = new ByteArrayContent(new byte[] { 0, 1, 2, 3, 4 }); innerRequest.Content.Headers.ContentType = new MediaTypeHeaderValue("notThisType/notThisSubType"); Message innerMessage = new HttpMessage(innerRequest); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); HttpRequestMessageProperty property = new HttpRequestMessageProperty(); property.Headers.Add(HttpRequestHeader.UserAgent, "SomeUserAgent"); property.Headers.Add(HttpRequestHeader.ContentType, "someType/someSubType"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, property); MessageState originalState = innerMessage.State; MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; HttpRequestMessage request = message.ToHttpRequestMessage(); Assert.AreEqual(1, request.Headers.Count(), "HttpRequestMessage.Headers.Count should have been one."); Assert.AreEqual(1, request.Content.Headers.Count(), "Content.Headers.Count should have been one"); Assert.AreEqual("SomeUserAgent", request.Headers.UserAgent.First().Product.ToString(), "The user agent header should have been 'SomeUserAgent'."); Assert.AreEqual("someType/someSubType", request.Content.Headers.ContentType.MediaType, "The content type header should have been 'someType/someSubType'."); }
public void RequestMessage_Returns_HttpMessage_With_Only_To_Header() { HttpRequestMessage innerRequest = new HttpRequestMessage(); innerRequest.Content = new ByteArrayContent(new byte[] { 0, 1, 2, 3, 4 }); Message innerMessage = new HttpMessage(innerRequest); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); HttpRequestMessageProperty property = new HttpRequestMessageProperty(); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, property); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; HttpRequestMessage request = message.ToHttpRequestMessage(); Assert.AreEqual(1, message.Headers.Count, "HttpMessage.Headers.Count should have been 1."); Assert.AreEqual(new Uri("http://someHost.org/someService"), message.Headers.To, "HttpMessage.Headers.To should have been 'http://someHost.org/someService'."); }
public void RequestMessage_Returns_HttpMessage_With_Empty_Content_When_Inner_Request_Is_Not_HttpMessage() { Message innerMessage = Message.CreateMessage(MessageVersion.None, string.Empty); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; HttpRequestMessage request = message.ToHttpRequestMessage(); Assert.IsNotNull(request.Content, "HttpRequestMessage.Content should not have been null."); Assert.AreEqual(0, request.Content.Headers.ContentLength, "HttpRequestMessage.Content length should have been zero."); }
public void RequestMessage_Returns_HttpMessage_When_Inner_Request_Is_Not_HttpMessage() { Message innerMessage = Message.CreateMessage(MessageVersion.None, string.Empty); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; HttpRequestMessage request = message.ToHttpRequestMessage(); Assert.IsNotNull(message, "HttpMessageEncodingRequestContext.RequestMessage should not have returned null."); Assert.IsInstanceOfType(message, typeof(HttpMessage), "HttpMessageEncodingRequestContext.RequestMessage should not returned an HttpMessage instance."); Assert.IsNotNull(request, "ToHttpRequestMessage should have returned an HttpRequestMessage instance."); }
public void RequestMessage_Returns_HttpMessage_In_Created_State_When_Inner_Request_Is_Not_HttpMessage() { Message innerMessage = Message.CreateMessage(MessageVersion.None, string.Empty); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; Assert.AreEqual(MessageState.Created, message.State, "HttpMessage.State should have been MessageState.Created."); }
public void RequestMessage_Method_Determined_By_HttpRequestMessageProperty() { HttpRequestMessage innerRequest = new HttpRequestMessage(); innerRequest.Method = HttpMethod.Get; Message innerMessage = new HttpMessage(innerRequest); HttpRequestMessageProperty property = new HttpRequestMessageProperty(); property.Method = "PUT"; innerMessage.Properties.Add(HttpRequestMessageProperty.Name, property); innerMessage.Headers.To = new Uri("http://thisUri.org"); MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; HttpRequestMessage request = message.ToHttpRequestMessage(); Assert.AreEqual("PUT", request.Method.Method, "HttpRequestMessage.Method should have been set to the the value of the HttpRequestMessageProperty.Method."); }
public void RequestMessage_Does_Not_Change_The_Message_State_When_Inner_Request_Is_HttpMessage() { HttpRequestMessage innerRequest = new HttpRequestMessage(); Message innerMessage = new HttpMessage(innerRequest); innerMessage.Headers.To = new Uri("http://someHost.org/someService"); innerMessage.Properties.Add(HttpRequestMessageProperty.Name, new HttpRequestMessageProperty()); MessageState originalState = innerMessage.State; MockRequestContext innerRequestContext = new MockRequestContext(); innerRequestContext.SetRequestMessage(innerMessage); HttpMessageEncodingRequestContext requestContext = new HttpMessageEncodingRequestContext(innerRequestContext); Message message = requestContext.RequestMessage; Assert.AreEqual(originalState, message.State, "The state of the message should not have been changed by the HttpMessageEncodingRequestContext."); }