public async Task Multiple_controllers_with_same_URL_routes_but_different_HTTP_methods() { var config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); var errorHandler = config.Services.GetExceptionHandler(); var handlerMock = new Mock <IExceptionHandler>(); handlerMock .Setup(m => m.HandleAsync(It.IsAny <ExceptionHandlerContext>(), It.IsAny <System.Threading.CancellationToken>())) .Callback <ExceptionHandlerContext, CancellationToken>((context, token) => { var innerException = context.ExceptionContext.Exception; Assert.Fail(innerException.Message); }); config.Services.Replace(typeof(IExceptionHandler), handlerMock.Object); using (var server = new HttpTestServer(config)) { string url = "http://localhost/api/some-resources/"; var client = server.CreateClient(); client.BaseAddress = new Uri(url); using (var response = await client.GetAsync("")) { Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); } using (var response = await client.GetAsync("3D6BDC0A-B539-4EBF-83AD-2FF5E958AFC3")) { Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); } using (var response = await client.PostAsJsonAsync("", new CreateData())) { Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); } } }
/// <summary> /// Zastavi vsetky spustene serveri HTTP aj OWIN. /// </summary> public void Stops() { var httpServerStoppedSuccessfully = HttpTestServer.StopGlobal(); var owinServerStoppedSuccessfully = OwinTestServer.StopGlobal(); if (!httpServerStoppedSuccessfully && !owinServerStoppedSuccessfully) { throw new InvalidOperationException("There are no running test servers to stop. Calling WebApiTesting.Server().Stops() should be done only after MyWebApi.Server.Starts() is invoked."); } }
public virtual void BaseSetUp() { // Setup test server server = new HttpTestServer(); server.Start(); // Setup the serializer serializer = new JsonNetSerializer(); serializer.failOnUnknownProperties = Newtonsoft.Json.MissingMemberHandling.Error; }
/// <summary> /// Spusti novy HTTP server. /// </summary> /// <param name="httpConfiguration">Volitelna konfiguracia protokolu HTTP. Ak nie je poskytnuta ziadna konfiguracia, namiesto nej sa pouzije globalna.</param> /// <returns>Server builder.</returns> public IApiBuilder Starts(HttpConfiguration httpConfiguration = null) { if (httpConfiguration == null) { HttpConfigurationValidator.ValidateGlobalConfiguration("server pipeline"); httpConfiguration = MyWebApi.Configuration; } HttpTestServer.StartGlobal(httpConfiguration); return(this.Working()); }
public virtual void SetUp() { oauth = new OAuthFlowImpl(clientId, clientSecret, redirectURL, authorizationURL, tokenURL, httpClient, json); // Setup test server server = new HttpTestServer(); server.Start(); // Setup the serializer JsonNetSerializer serializer = new JsonNetSerializer(); serializer.failOnUnknownProperties = Newtonsoft.Json.MissingMemberHandling.Error; }
public async Task Attribute_Routing_Values_In_Url_Should_Bind_Parameter_FromBody() { var config = new HttpConfiguration(); config.MapHttpAttributeRoutes(); using (var server = new HttpTestServer(config)) { var client = server.CreateClient(); string url = "http://localhost/api/Products/5"; var data = new UpdateProductModel { Name = "New Name" // NB: No ProductId in data }; using (var response = await client.PostAsJsonAsync(url, data)) { Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); } } }
public async Task Test() { using (var server = HttpTestServer.Create()) { //Arrange var config = server.Configuration; config.MapHttpAttributeRoutes(); config.EnsureInitialized(); var client = server.CreateClient(); var url = "http://localhost/test"; var request = new HttpRequestMessage(HttpMethod.Get, url); var expected = System.Net.HttpStatusCode.OK; //Act var result = await client.SendAsync(request, CancellationToken.None); //Assert Assert.IsNotNull(result); Assert.AreEqual(expected, result.StatusCode); } }
public async Task Test() { using (var server = HttpTestServer.Create()) { //Arrange var config = server.Configuration; //Config server MyWebApiNamespace.WebApiConfig.Register(config); var client = server.CreateClient(); var url = "http://localhost/test"; var request = new HttpRequestMessage(HttpMethod.Get, url); var expected = System.Net.HttpStatusCode.OK; //Act var result = await client.SendAsync(request, CancellationToken.None); //Assert Assert.IsNotNull(result); Assert.AreEqual(expected, result.StatusCode); } }
/// <summary> /// Spustí nový server HTTP na spracovanie žiadosti. /// </summary> /// <param name="httpConfiguration">Konfigurácia protokolu HTTP, ktorá sa má použiť pri testovaní.</param> /// <returns>Server builder to set specific HTTP requests.</returns> public IApiBuilder Working(HttpConfiguration httpConfiguration) { return(new ApiTestBuilder(HttpTestServer.CreateNewClient(httpConfiguration), transformRequest: true, disposeServer: true)); }