public void ConvertRequest_Creates_Request_With_Content_For_Content_Methods(HttpMethod httpMethod) { // Arrange Mock <HttpContextBase> contextMock = CreateMockHttpContextBaseForRequest(httpMethod.Method, new MemoryStream()); // Act HttpRequestMessage actualRequest = HttpControllerHandler.ConvertRequest(contextMock.Object); // Assert Assert.NotNull(actualRequest.Content); }
public void ConvertRequest_Creates_HttpRequestMessage_For_All_HttpMethods(HttpMethod httpMethod) { // Arrange Mock <HttpContextBase> contextMock = CreateMockHttpContextBaseForRequest(httpMethod.Method, new MemoryStream()); // Act HttpRequestMessage request = HttpControllerHandler.ConvertRequest(contextMock.Object); // Assert Assert.Equal(httpMethod, request.Method); }
public void ConvertRequest_Creates_HttpRequestMessage_For_All_HttpMethods(HttpMethod httpMethod) { // Arrange HttpContextBase contextBase = CreateStubContext(httpMethod.Method, new MemoryStream()); // Act HttpRequestMessage request = HttpControllerHandler.ConvertRequest(contextBase); // Assert Assert.Equal(httpMethod, request.Method); }
public void ConvertRequest_Uses_HostBufferPolicySelector_To_Select_Buffered_Stream() { // Arrange Mock <HttpContextBase> contextMock = CreateMockHttpContextBaseForRequest("Post", new MemoryStream(new byte[] { 5 })); MemoryStream memoryStream = new MemoryStream(); // Act HttpRequestMessage actualRequest = HttpControllerHandler.ConvertRequest(contextMock.Object); actualRequest.Content.CopyToAsync(memoryStream).Wait(); byte[] actualBuffer = memoryStream.GetBuffer(); // Assert Assert.Equal(5, actualBuffer[0]); }
public void ConvertRequest_DoesLazyGetInputStream() { bool inputStreamCalled = false; HttpRequestBase stubRequest = CreateStubRequest(() => { inputStreamCalled = true; return(new MemoryStream()); }, buffered: true); HttpContextBase context = CreateStubContext(request: stubRequest, items: null); HttpRequestMessage actualRequest = HttpControllerHandler.ConvertRequest(context); Assert.False(inputStreamCalled); var contentStream = actualRequest.Content.ReadAsStreamAsync().Result; Assert.True(inputStreamCalled); }
public void ConvertRequest_Copies_Headers_And_Content_Headers() { // Arrange Mock <HttpContextBase> contextMock = CreateMockHttpContextBaseForRequest("Get", new MemoryStream()); HttpRequestBase requestBase = contextMock.Object.Request; NameValueCollection nameValues = requestBase.Headers; nameValues["myHeader"] = "myValue"; nameValues["Content-Type"] = "application/mine"; // Act HttpRequestMessage request = HttpControllerHandler.ConvertRequest(contextMock.Object); string[] headerValues = request.Headers.GetValues("myHeader").ToArray(); // Assert Assert.Equal("myValue", headerValues[0]); Assert.Equal("application/mine", request.Content.Headers.ContentType.MediaType); }
public void ConvertRequest_DoesNotAddOwinEnvironment_WhenItemsIsNull() { // Arrange using (MemoryStream ignoreStream = new MemoryStream()) { HttpRequestBase stubRequest = CreateStubRequest("IgnoreMethod", ignoreStream); IDictionary items = null; HttpContextBase context = CreateStubContext(stubRequest, items); // Act using (HttpRequestMessage actualRequest = HttpControllerHandler.ConvertRequest(context)) { // Assert object ignore; bool found = actualRequest.Properties.TryGetValue(HttpControllerHandler.OwinEnvironmentKey, out ignore); Assert.False(found); } } }
public void ConvertRequest_AddsOwinEnvironment_WhenPresentInHttpContext() { // Arrange using (MemoryStream ignoreStream = new MemoryStream()) { HttpRequestBase stubRequest = CreateStubRequest("IgnoreMethod", ignoreStream); IDictionary <string, object> expectedEnvironment = new Dictionary <string, object>(); IDictionary items = new Hashtable(); items.Add(HttpControllerHandler.OwinEnvironmentHttpContextKey, expectedEnvironment); HttpContextBase context = CreateStubContext(stubRequest, items); // Act using (HttpRequestMessage actualRequest = HttpControllerHandler.ConvertRequest(context)) { IDictionary <string, object> environment = actualRequest.GetOwinEnvironment(); // Assert Assert.Same(expectedEnvironment, environment); } } }
public ConvertRequest_DoesLazyGetBufferlessInputStream_TestResults ConvertRequest_DoesLazyGetBufferlessInputStream() { bool inputStreamCalled = false; HttpRequestBase stubRequest = HttpControllerHandlerTest.CreateStubRequestBase(() => { inputStreamCalled = true; return(new MemoryStream()); }, buffered: false); HttpContextBase context = HttpControllerHandlerTest.CreateStubContextBase(request: stubRequest, items: null); GlobalConfiguration.Configuration.Services.Replace(typeof(IHostBufferPolicySelector), new BufferOutputOnlyPolicySelector()); HttpRequestMessage actualRequest = HttpControllerHandler.ConvertRequest(context); ConvertRequest_DoesLazyGetBufferlessInputStream_TestResults results = new ConvertRequest_DoesLazyGetBufferlessInputStream_TestResults(); results.inputStreamCalledBeforeContentIsRead = inputStreamCalled; Stream contentStream = actualRequest.Content.ReadAsStreamAsync().Result; results.inputStreamCalledAfterContentIsRead = inputStreamCalled; return(results); }