public void HandlerWithConstructorFunctionShouldPopulateCorrectNewInstanceOfHandlerType() { var handler = MyWebApi.Handler(() => new CustomMessageHandler()).AndProvideTheHandler(); Assert.IsNotNull(handler); Assert.IsAssignableFrom <CustomMessageHandler>(handler); }
public void ShouldReturnHttpResponseMessageShouldThrowExceptionWhenHandlerThrowsException() { MyWebApi .Handler <ExceptionMessageHandler>() .WithHttpRequestMessage(request => request.WithHeader("CustomHeader", "CustomValue")) .ShouldReturnHttpResponseMessage(); }
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)); }
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(); }
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>(); }
public void WithInnerHandlerInstanceShouldThrowExceptionIfOuterHandlerIsNotDelegatingHandler() { var innerHandler = new CustomMessageHandler(); var handler = MyWebApi .Handler <CustomMessageHandler>() .WithInnerHandler(innerHandler) .AndProvideTheHandler() as DelegatingHandler; }
public void WithResponseModelShouldThrowExceptionWithWrongPredicate() { MyWebApi .Handler <ResponseMessageHandler>() .WithHttpRequestMessage(new HttpRequestMessage()) .ShouldReturnHttpResponseMessage() .WithResponseModelOfType <IList <ResponseModel> >() .Passing(m => m.First().IntegerValue == 2); }
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); }
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"); }
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); }
public void WithHttpConfigurationShouldOverrideTheDefaultOne() { var config = new HttpConfiguration(); var controllerConfig = MyWebApi .Handler <CustomDelegatingHandler>() .WithHttpConfiguration(config) .AndProvideTheHttpConfiguration(); Assert.AreSame(config, controllerConfig); }
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); }