Exemplo n.º 1
0
    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);
            }
        }
    }
Exemplo n.º 2
0
Arquivo: Api.cs Projeto: mstru/Testing
        /// <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;
        }
Exemplo n.º 4
0
Arquivo: Api.cs Projeto: mstru/Testing
        /// <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());
        }
Exemplo n.º 5
0
        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);
            }
        }
    }
Exemplo n.º 7
0
    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);
        }
    }
Exemplo n.º 9
0
Arquivo: Api.cs Projeto: mstru/Testing
 /// <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));
 }