コード例 #1
0
        public void HandlerWithConstructorFunctionShouldPopulateCorrectNewInstanceOfHandlerType()
        {
            var handler = MyWebApi.Handler(() => new CustomMessageHandler()).AndProvideTheHandler();

            Assert.IsNotNull(handler);
            Assert.IsAssignableFrom <CustomMessageHandler>(handler);
        }
コード例 #2
0
 public void ShouldReturnHttpResponseMessageShouldThrowExceptionWhenHandlerThrowsException()
 {
     MyWebApi
     .Handler <ExceptionMessageHandler>()
     .WithHttpRequestMessage(request => request.WithHeader("CustomHeader", "CustomValue"))
     .ShouldReturnHttpResponseMessage();
 }
コード例 #3
0
        public void WithInnerHandlerBuilderShouldPopulateCorrectInnerHandler()
        {
            var outerHandler = MyWebApi
                               .Handler <CustomDelegatingHandler>()
                               .WithInnerHandler <CustomDelegatingHandler>(
                firstInnerHandler => firstInnerHandler.WithInnerHandler <CustomDelegatingHandler>(
                    secondInnerHandler => secondInnerHandler.WithInnerHandler(() => new CustomMessageHandler())))
                               .AndProvideTheHandler() as DelegatingHandler;

            Assert.IsNotNull(outerHandler);
            Assert.IsAssignableFrom <CustomDelegatingHandler>(outerHandler);

            var firstHandler = outerHandler.InnerHandler as DelegatingHandler;

            Assert.IsNotNull(firstHandler);
            Assert.IsAssignableFrom <CustomDelegatingHandler>(firstHandler);

            var secondHandler = firstHandler.InnerHandler as DelegatingHandler;

            Assert.IsNotNull(secondHandler);
            Assert.IsAssignableFrom <CustomDelegatingHandler>(secondHandler);

            var thirdHandler = secondHandler.InnerHandler;

            Assert.IsNotNull(thirdHandler);
            Assert.IsAssignableFrom <CustomMessageHandler>(thirdHandler);
        }
 public void WithMediaTypeFormatterOfTypeShouldNotThrowExceptionWithCorrectMediaTypeFormatter()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithMediaTypeFormatterOfType <CustomMediaTypeFormatter>();
 }
 public void WithSuccessStatusCodeShouldNotThrowExceptionWithValidStatusCode()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithSuccessStatusCode();
 }
 public void WithReasonPhraseShouldThrowExceptionWithInvalidPhrase()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithReasonPhrase("Invalid reason phrase");
 }
 public void WithVersionShouldThrowExceptionWithInvalidVersion()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithVersion("1.0");
 }
 public void WithVersionShouldNotThrowExceptionWithValidVersion()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithVersion(new Version(1, 1));
 }
コード例 #9
0
        public void HandlerWithProvidedInstanceShouldPopulateCorrectInstanceOfHandlerType()
        {
            var instance   = new CustomMessageHandler();
            var controller = MyWebApi.Handler(instance).AndProvideTheHandler();

            Assert.IsNotNull(controller);
            Assert.IsAssignableFrom <CustomMessageHandler>(controller);
        }
 public void ContainingHeaderShouldThrowExceptionIfNoContentIsAdded()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(request => request.WithHeader("NoContent", "NoContent"))
     .ShouldReturnHttpResponseMessage()
     .ContainingContentHeader("AnotherHeader");
 }
 public void ContainingContentHeaderShouldThrowExceptionWithCorrectHeaderNameAndOneCorrectAndOneIncorrectValues()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .ContainingContentHeader("TestHeader", new[] { "TestHeaderValue", "AnotherHeaderValue" });
 }
 public void ContainingContentHeaderShouldNotThrowExceptionWithCorrectHeaderNameAndValue()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .ContainingContentHeader("TestHeader", "TestHeaderValue");
 }
 public void ContainingContentHeaderShouldThrowExceptionWithIncorrectHeaderName()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .ContainingContentHeader("AnotherHeader");
 }
 public void WithResponseModelOfTypeShouldThrowExceptionWithIncorrectResponseModel()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithResponseModelOfType <ResponseModel>();
 }
 public void WithDefaultMediaTypeFormatterShouldThrowExceptionWithIncorrectMediaTypeFormatter()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithDefaultMediaTypeFormatter();
 }
 public void WithDefaultMediaTypeFormatterShouldNotThrowExceptionWithCorrectMediaTypeFormatter()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(request => request.WithHeader("FromRequest", "FromRequest"))
     .ShouldReturnHttpResponseMessage()
     .WithDefaultMediaTypeFormatter();
 }
 public void WithResponseModelShouldNotThrowExceptionWithDeeplyEqualResponseModel()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithResponseModel(TestObjectFactory.GetListOfResponseModels());
 }
 public void WithStatusCodeShouldThrowExceptionWithInvalidStatusCode()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithStatusCode(HttpStatusCode.BadRequest);
 }
 public void WithSuccessStatusCodeShouldThrowExceptionWithInvalidStatusCode()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(request => request.WithHeader("NotFound", "NotFound"))
     .ShouldReturnHttpResponseMessage()
     .WithSuccessStatusCode();
 }
コード例 #20
0
 public void ShouldReturnHttpResponseMessageShouldWorkCorrectly()
 {
     MyWebApi
     .Handler <CustomDelegatingHandler>()
     .WithInnerHandler <CustomMessageHandler>()
     .WithHttpRequestMessage(request => request.WithHeader("CustomHeader", "CustomValue"))
     .ShouldReturnHttpResponseMessage();
 }
 public void WithContentOfTypeShouldThrowExceptionWithIncorrectContent()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithContentOfType <StreamContent>();
 }
コード例 #22
0
 public void WithInnerHandlerInstanceShouldThrowExceptionIfOuterHandlerIsNotDelegatingHandler()
 {
     var innerHandler = new CustomMessageHandler();
     var handler      = MyWebApi
                        .Handler <CustomMessageHandler>()
                        .WithInnerHandler(innerHandler)
                        .AndProvideTheHandler() as DelegatingHandler;
 }
コード例 #23
0
 public void WithResponseModelShouldThrowExceptionWithWrongPredicate()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithResponseModelOfType <IList <ResponseModel> >()
     .Passing(m => m.First().IntegerValue == 2);
 }
コード例 #24
0
 public void WithResponseModelShouldNotThrowExceptionWithCorrectPredicate()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithResponseModelOfType <ICollection <ResponseModel> >()
     .Passing(m => m.First().IntegerValue == 1);
 }
        public void WithResponseModelShouldNotThrowExceptionWithCorrectResponseModel()
        {
            var handler = new ResponseMessageHandler();

            MyWebApi
            .Handler(handler)
            .WithHttpRequestMessage(new HttpRequestMessage())
            .ShouldReturnHttpResponseMessage()
            .WithResponseModel(handler.ResponseModel);
        }
コード例 #26
0
        public void WithRequestMessageBuilderShouldPopulateCorrectHttpRequestMessage()
        {
            var actualRequest = MyWebApi
                                .Handler <CustomDelegatingHandler>()
                                .WithInnerHandler <CustomDelegatingHandler>(firstHandler => firstHandler.WithInnerHandler <CustomMessageHandler>())
                                .WithHttpRequestMessage(request => request.WithMethod(HttpMethod.Get))
                                .AndProvideTheHttpRequestMessage();

            Assert.AreEqual(HttpMethod.Get, actualRequest.Method);
        }
 public void AndAlsoShouldWorkCorrectly()
 {
     MyWebApi
     .Handler <ResponseMessageHandler>()
     .WithHttpRequestMessage(new HttpRequestMessage())
     .ShouldReturnHttpResponseMessage()
     .WithSuccessStatusCode()
     .AndAlso()
     .WithReasonPhrase("Custom reason phrase");
 }
コード例 #28
0
        public void WithInnerHandlerWithConstructionFunctionShouldPopulateCorrectInnerHandler()
        {
            var handler = MyWebApi
                          .Handler <CustomDelegatingHandler>()
                          .WithInnerHandler(() => new CustomMessageHandler())
                          .AndProvideTheHandler() as DelegatingHandler;

            Assert.IsNotNull(handler);
            Assert.IsNotNull(handler.InnerHandler);
            Assert.IsAssignableFrom <CustomMessageHandler>(handler.InnerHandler);
        }
コード例 #29
0
        public void WithHttpConfigurationShouldOverrideTheDefaultOne()
        {
            var config = new HttpConfiguration();

            var controllerConfig = MyWebApi
                                   .Handler <CustomDelegatingHandler>()
                                   .WithHttpConfiguration(config)
                                   .AndProvideTheHttpConfiguration();

            Assert.AreSame(config, controllerConfig);
        }
コード例 #30
0
        public void WithRequestMessageShouldPopulateCorrectHttpRequestMessage()
        {
            var originalRequestMessage = new HttpRequestMessage(HttpMethod.Get, new Uri("http://test.com"));

            var request = MyWebApi
                          .Handler <CustomDelegatingHandler>()
                          .WithHttpRequestMessage(originalRequestMessage)
                          .AndProvideTheHttpRequestMessage();

            Assert.AreSame(originalRequestMessage, request);
        }