public static IAppBuilder UseWebApi(this IAppBuilder builder, HttpConfiguration configuration) { if (builder == null) { throw new ArgumentNullException("builder"); } if (configuration == null) { throw new ArgumentNullException("configuration"); } HttpServer server = new HttpServer(configuration); try { HttpMessageHandlerOptions options = CreateOptions(builder, server, configuration); return UseMessageHandler(builder, options); } catch { server.Dispose(); throw; } }
public void cache_singleton_in_pipeline() { _cache = new Mock<IApiOutputCache>(); var conf = new HttpConfiguration(); conf.CacheOutputConfiguration().RegisterCacheOutputProvider(() => _cache.Object); conf.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); _server = new HttpServer(conf); var client = new HttpClient(_server); var result = client.GetAsync(_url + "Get_c100_s100").Result; _cache.Verify(s => s.Contains(It.Is<string>(x => x == "webapi.outputcache.v2.tests.testcontrollers.samplecontroller-get_c100_s100:application/json; charset=utf-8")), Times.Exactly(2)); var result2 = client.GetAsync(_url + "Get_c100_s100").Result; _cache.Verify(s => s.Contains(It.Is<string>(x => x == "webapi.outputcache.v2.tests.testcontrollers.samplecontroller-get_c100_s100:application/json; charset=utf-8")), Times.Exactly(4)); _server.Dispose(); }
public static void MyClassCleanup() { if (_server != null) { _server.Dispose(); } }
public void Post_NoContent_RequestMethodIsPost() { var config = new HttpConfiguration { IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always }; var messageHandler = new CaptureRequestMessageHandler(); config.MessageHandlers.Add(messageHandler); var server = new HttpServer(config); server.Post("http://www.sample.com", string.Empty); server.Dispose(); Assert.Equal(HttpMethod.Post, messageHandler.CapturedRequest.Method); }
public async Task DisposedReturnsServiceUnavailable() { // Arrange Mock <HttpMessageHandler> mockHandler = new Mock <HttpMessageHandler>(); HttpServer server = new HttpServer(mockHandler.Object); HttpMessageInvoker invoker = new HttpMessageInvoker(server); server.Dispose(); HttpRequestMessage request = new HttpRequestMessage(); // Act var response = await invoker.SendAsync(request, CancellationToken.None); // Assert mockHandler.Protected().Verify <Task <HttpResponseMessage> >("SendAsync", Times.Never(), request, CancellationToken.None); Assert.Equal(HttpStatusCode.ServiceUnavailable, response.StatusCode); }
public Task <HttpResponseMessage> DisposedReturnsServiceUnavailable() { // Arrange Mock <HttpMessageHandler> mockHandler = new Mock <HttpMessageHandler>(); HttpServer server = new HttpServer(mockHandler.Object); HttpMessageInvoker invoker = new HttpMessageInvoker(server); server.Dispose(); HttpRequestMessage request = new HttpRequestMessage(); // Act return(invoker.SendAsync(request, CancellationToken.None).ContinueWith( (reqTask) => { // Assert mockHandler.Protected().Verify <Task <HttpResponseMessage> >("SendAsync", Times.Never(), request, CancellationToken.None); Assert.Equal(HttpStatusCode.ServiceUnavailable, reqTask.Result.StatusCode); return reqTask.Result; } )); }
public Task<HttpResponseMessage> DisposedReturnsServiceUnavailable() { // Arrange Mock<HttpControllerDispatcher> dispatcherMock = new Mock<HttpControllerDispatcher>(); HttpServer server = new HttpServer(dispatcherMock.Object); HttpMessageInvoker invoker = new HttpMessageInvoker(server); server.Dispose(); HttpRequestMessage request = new HttpRequestMessage(); // Act return invoker.SendAsync(request, CancellationToken.None).ContinueWith( (reqTask) => { // Assert dispatcherMock.Protected().Verify<Task<HttpResponseMessage>>("SendAsync", Times.Never(), request, CancellationToken.None); Assert.Equal(HttpStatusCode.ServiceUnavailable, reqTask.Result.StatusCode); return reqTask.Result; } ); }