Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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]);
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
                }
            }
        }
Exemplo n.º 8
0
        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);
                }
            }
        }
Exemplo n.º 9
0
        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);
        }