Exemplo n.º 1
0
        public void AccessDependentProperties_UnsetContext()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act & Assert
            Assert.Null(controller.Context);
            Assert.Null(controller.ModelState);
            Assert.Null(controller.User);
        }
Exemplo n.º 2
0
        public void ApiController_Conflict()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.Conflict();

            // Assert
            Assert.Equal(StatusCodes.Status409Conflict, Assert.IsType <ConflictResult>(result).StatusCode);
        }
Exemplo n.º 3
0
        public void ApiController_InternalServerError()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.InternalServerError();

            // Assert
            Assert.Equal(StatusCodes.Status500InternalServerError, Assert.IsType <InternalServerErrorResult>(result).StatusCode);
        }
Exemplo n.º 4
0
        public void ApiController_BadRequest()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.BadRequest();

            // Assert
            Assert.Equal(StatusCodes.Status400BadRequest, Assert.IsType<BadRequestResult>(result).StatusCode);
        }
Exemplo n.º 5
0
        public void ApiController_Redirect_String(string uri)
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.Redirect(uri);

            // Assert
            var redirect = Assert.IsType <RedirectResult>(result);

            Assert.Equal(uri, result.Url);
        }
Exemplo n.º 6
0
        public void ApiController_Ok_Content()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product    = new Product();

            // Act
            var result = controller.Ok(product);

            // Assert
            var okResult = Assert.IsType <HttpOkObjectResult>(result);

            Assert.Same(product, okResult.Value);
        }
Exemplo n.º 7
0
        public void ApiController_Json()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product    = new Product();

            // Act
            var result = controller.Json(product);

            // Assert
            var jsonResult = Assert.IsType <JsonResult>(result);

            Assert.Same(product, jsonResult.Value);
        }
Exemplo n.º 8
0
        public void ApiController_InternalServerError_Exception()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var exception  = new ArgumentException();

            // Act
            var result = controller.InternalServerError(exception);

            // Assert
            var exceptionResult = Assert.IsType <ExceptionResult>(result);

            Assert.Same(exception, exceptionResult.Exception);
        }
Exemplo n.º 9
0
        public void ApiController_RedirectToRoute()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.RedirectToRoute("api_route", new { controller = "Products" });

            // Assert
            var created = Assert.IsType <RedirectToRouteResult>(result);

            Assert.Equal("api_route", created.RouteName);
            Assert.Equal("Products", created.RouteValues["controller"]);
        }
Exemplo n.º 10
0
        public void ApiController_Ok_Content()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product    = new Product();

            // Act
            var result = controller.Ok(product);

            // Assert
            var okResult = Assert.IsType <OkNegotiatedContentResult <Product> >(result);

            Assert.Same(product, okResult.Content);
        }
Exemplo n.º 11
0
        public void ApiController_ResponseMessage()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var response = new HttpResponseMessage(HttpStatusCode.NoContent);

            // Act
            var result = controller.ResponseMessage(response);

            // Assert
            var responseResult = Assert.IsType <ResponseMessageResult>(result);

            Assert.Same(response, responseResult.Response);
        }
Exemplo n.º 12
0
        public void ApiController_Redirect()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var uri = new Uri("http://contoso.com");

            // Act
            var result = controller.Redirect(uri);

            // Assert
            var redirect = Assert.IsType <RedirectResult>(result);

            Assert.Equal(uri.AbsoluteUri, result.Url);
        }
Exemplo n.º 13
0
        public void ApiController_BadRequest_Message()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.BadRequest("Error");

            // Assert
            var badRequest = Assert.IsType<BadRequestErrorMessageResult>(result);
            Assert.Equal("Error", badRequest.Message);

            var httpError = Assert.IsType<HttpError>(badRequest.Value);
            Assert.Equal("Error", httpError.Message);
        }
Exemplo n.º 14
0
        public void ApiController_Created_String(string uri)
        {
            // Arrange
            var controller = new ConcreteApiController();

            var product = new Product();

            // Act
            var result = controller.Created(uri, product);

            // Assert
            var created = Assert.IsType <CreatedResult>(result);

            Assert.Same(product, created.Value);
            Assert.Equal(uri, created.Location);
        }
Exemplo n.º 15
0
        public void ApiController_Content()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var content = new Product();

            // Act
            var result = controller.Content(HttpStatusCode.Found, content);

            // Assert
            var contentResult = Assert.IsType <NegotiatedContentResult <Product> >(result);

            Assert.Equal(StatusCodes.Status302Found, contentResult.StatusCode);
            Assert.Equal(content, contentResult.Value);
        }
Exemplo n.º 16
0
        public void ApiController_Created_String(string uri)
        {
            // Arrange
            var controller = new ConcreteApiController();

            var product = new Product();

            // Act
            var result = controller.Created(uri, product);

            // Assert
            var created = Assert.IsType <CreatedNegotiatedContentResult <Product> >(result);

            Assert.Same(product, created.Content);
            Assert.Equal(uri, created.Location.OriginalString);
        }
Exemplo n.º 17
0
        public void ApiController_BadRequest_Message()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.BadRequest("Error");

            // Assert
            var badRequest = Assert.IsType <BadRequestErrorMessageResult>(result);

            Assert.Equal("Error", badRequest.Message);

            var httpError = Assert.IsType <HttpError>(badRequest.Value);

            Assert.Equal("Error", httpError.Message);
        }
Exemplo n.º 18
0
        public void ApiController_Created_Uri()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var uri     = new Uri("http://contoso.com/");
            var product = new Product();

            // Act
            var result = controller.Created(uri, product);

            // Assert
            var created = Assert.IsType <CreatedResult>(result);

            Assert.Same(product, created.Value);
            Assert.Equal(uri.OriginalString, created.Location);
        }
Exemplo n.º 19
0
        public void ApiController_CreatedAtRoute()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var product = new Product();

            // Act
            var result = controller.CreatedAtRoute("api_route", new { controller = "Products" }, product);

            // Assert
            var created = Assert.IsType <CreatedAtRouteResult>(result);

            Assert.Same(product, created.Value);
            Assert.Equal("api_route", created.RouteName);
            Assert.Equal("Products", created.RouteValues["controller"]);
        }
Exemplo n.º 20
0
        public void ApiController_Created_Uri()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var uri     = new Uri("http://contoso.com");
            var product = new Product();

            // Act
            var result = controller.Created(uri, product);

            // Assert
            var created = Assert.IsType <CreatedNegotiatedContentResult <Product> >(result);

            Assert.Same(product, created.Content);
            Assert.Same(uri, created.Location);
        }
Exemplo n.º 21
0
        public void ApiController_Json_Encoding()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product    = new Product();
            var settings   = new JsonSerializerSettings();

            // Act
            var result = controller.Json(product, settings, Encoding.UTF8);

            // Assert
            var jsonResult = Assert.IsType <JsonResult>(result);

            Assert.Same(product, jsonResult.Value);

            Assert.Same(Encoding.UTF8, jsonResult.ContentType.Encoding);
        }
Exemplo n.º 22
0
        public void AccessDependentProperties()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var httpContext = new DefaultHttpContext();
            httpContext.User = new ClaimsPrincipal();
            
            var actionContext = new ActionContext(httpContext, new RouteData(), new ControllerActionDescriptor());

            // Act
            controller.ControllerContext = new ControllerContext(actionContext);

            // Assert
            Assert.Same(httpContext, controller.Context);
            Assert.Same(actionContext.ModelState, controller.ModelState);
            Assert.Same(httpContext.User, controller.User);
        }
Exemplo n.º 23
0
        public void AccessDependentProperties()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var httpContext = new DefaultHttpContext();

            httpContext.User = new ClaimsPrincipal();

            var actionContext = new ActionContext(httpContext, new RouteData(), new ControllerActionDescriptor());

            // Act
            controller.ControllerContext = new ControllerContext(actionContext);

            // Assert
            Assert.Same(httpContext, controller.Context);
            Assert.Same(actionContext.ModelState, controller.ModelState);
            Assert.Same(httpContext.User, controller.User);
        }
Exemplo n.º 24
0
        public void ApiController_Json_Settings()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product    = new Product();
            var settings   = new JsonSerializerSettings();

            // Act
            var result = controller.Json(product, settings);

            // Assert
            var jsonResult = Assert.IsType <JsonResult>(result);

            Assert.Same(product, jsonResult.Value);

            var formatter = Assert.IsType <JsonOutputFormatter>(jsonResult.Formatter);

            Assert.Same(settings, formatter.SerializerSettings);
        }
Exemplo n.º 25
0
        public void ApiController_BadRequest_ModelState()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var modelState = new ModelStateDictionary();

            modelState.AddModelError("product.Name", "Name is required");

            // Act
            var result = controller.BadRequest(modelState);

            // Assert
            var badRequest = Assert.IsType <InvalidModelStateResult>(result);

            var modelError = Assert.IsType <HttpError>(badRequest.Value).ModelState;

            Assert.Equal(new string[] { "Name is required" }, modelError["product.Name"]);
        }
Exemplo n.º 26
0
        public void ApiController_CreatedAtRoute_Dictionary()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var product = new Product();
            var values  = new RouteValueDictionary(new { controller = "Products" });

            // Act
            var result = controller.CreatedAtRoute("api_route", values, product);

            // Assert
            var created = Assert.IsType <CreatedAtRouteResult>(result);

            Assert.Same(product, created.Value);
            Assert.Equal("api_route", created.RouteName);
            Assert.Equal("Products", created.RouteValues["controller"]);
            Assert.Equal <KeyValuePair <string, object> >(values, created.RouteValues);
        }
Exemplo n.º 27
0
        public void ApiController_Json_Settings_Encoding()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product    = new Product();
            var settings   = new JsonSerializerSettings();

            // Act
            var result = controller.Json(product, settings, Encoding.UTF8);

            // Assert
            var objectResult = Assert.IsType <ObjectResult>(result);

            Assert.Same(product, objectResult.Value);

            var formatter = Assert.IsType <JsonOutputFormatter>(Assert.Single(objectResult.Formatters));

            Assert.Same(settings, formatter.SerializerSettings);
            Assert.Same(Encoding.UTF8, Assert.Single(formatter.SupportedEncodings));
        }
Exemplo n.º 28
0
        public void ApiController_Conflict()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.Conflict();

            // Assert
            Assert.Equal(StatusCodes.Status409Conflict, Assert.IsType<ConflictResult>(result).StatusCode);
        }
Exemplo n.º 29
0
        public void ApiController_Content()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var content = new Product();

            // Act
            var result = controller.Content(HttpStatusCode.Found, content);

            // Assert
            var contentResult = Assert.IsType<NegotiatedContentResult<Product>>(result);
            Assert.Equal(StatusCodes.Status302Found, contentResult.StatusCode);
            Assert.Equal(content, contentResult.Value);
        }
Exemplo n.º 30
0
        public void ApiController_InternalServerError()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.InternalServerError();

            // Assert
            Assert.Equal(StatusCodes.Status500InternalServerError, Assert.IsType<InternalServerErrorResult>(result).StatusCode);
        }
Exemplo n.º 31
0
        public void ApiController_RedirectToRoute_Dictionary()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var product = new Product();
            var values = new RouteValueDictionary(new { controller = "Products" });

            // Act
            var result = controller.RedirectToRoute("api_route", values);

            // Assert
            var created = Assert.IsType<RedirectToRouteResult>(result);
            Assert.Equal("api_route", created.RouteName);
            Assert.Equal("Products", created.RouteValues["controller"]);
        }
Exemplo n.º 32
0
        public void ApiController_InternalServerError_Exception()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var exception = new ArgumentException();

            // Act
            var result = controller.InternalServerError(exception);

            // Assert
            var exceptionResult = Assert.IsType<ExceptionResult>(result);
            Assert.Same(exception, exceptionResult.Exception);
        }
Exemplo n.º 33
0
        public void ApiController_Json()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product = new Product();

            // Act
            var result = controller.Json(product);

            // Assert
            var jsonResult = Assert.IsType<JsonResult>(result);
            Assert.Same(product, jsonResult.Value);
        }
Exemplo n.º 34
0
        public void ApiController_Json_Encoding()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product = new Product();
            var settings = new JsonSerializerSettings();

            // Act
            var result = controller.Json(product, settings, Encoding.UTF8);

            // Assert
            var jsonResult = Assert.IsType<JsonResult>(result);
            Assert.Same(product, jsonResult.Value);

            Assert.Same(Encoding.UTF8, jsonResult.ContentType.Encoding);
        }
Exemplo n.º 35
0
        public void ApiController_BadRequest_ModelState()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var modelState = new ModelStateDictionary();
            modelState.AddModelError("product.Name", "Name is required");

            // Act
            var result = controller.BadRequest(modelState);

            // Assert
            var badRequest = Assert.IsType<InvalidModelStateResult>(result);

            var modelError = Assert.IsType<HttpError>(badRequest.Value).ModelState;
            Assert.Equal(new string[] { "Name is required" }, modelError["product.Name"]);
        }
Exemplo n.º 36
0
        public void ApiController_NotFound()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.NotFound();

            // Assert
            Assert.Equal(404, Assert.IsType<HttpNotFoundResult>(result).StatusCode);
        }
Exemplo n.º 37
0
        public void ApiController_Ok()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.Ok();

            // Assert
            Assert.Equal(200, Assert.IsType<HttpOkResult>(result).StatusCode);
        }
Exemplo n.º 38
0
        public void ApiController_Ok_Content()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product = new Product();

            // Act
            var result = controller.Ok(product);

            // Assert
            var okResult = Assert.IsType<HttpOkObjectResult>(result);
            Assert.Same(product, okResult.Value);
        }
Exemplo n.º 39
0
        public void ApiController_StatusCode()
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.StatusCode(HttpStatusCode.ExpectationFailed);

            // Assert
            Assert.Equal(StatusCodes.Status417ExpectationFailed, Assert.IsType<HttpStatusCodeResult>(result).StatusCode);
        }
Exemplo n.º 40
0
        public void ApiController_ResponseMessage()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var response = new HttpResponseMessage(HttpStatusCode.NoContent);

            // Act
            var result = controller.ResponseMessage(response);

            // Assert
            var responseResult = Assert.IsType<ResponseMessageResult>(result);
            Assert.Same(response, responseResult.Response);
        }
Exemplo n.º 41
0
        public void ApiController_Redirect()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var uri = new Uri("http://contoso.com");

            // Act
            var result = controller.Redirect(uri);

            // Assert
            var redirect = Assert.IsType<RedirectResult>(result);
            Assert.Equal(uri.AbsoluteUri, result.Url);
        }
Exemplo n.º 42
0
        public void ApiController_Json_Settings_Encoding()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product = new Product();
            var settings = new JsonSerializerSettings();

            // Act
            var result = controller.Json(product, settings, Encoding.UTF8);

            // Assert
            var jsonResult = Assert.IsType<JsonResult>(result);
            Assert.Same(product, jsonResult.Value);

            var formatter = Assert.IsType<JsonOutputFormatter>(jsonResult.Formatter);
            Assert.Same(settings, formatter.SerializerSettings);
            Assert.Same(Encoding.UTF8, Assert.Single(formatter.SupportedEncodings));
        }
Exemplo n.º 43
0
        public void ApiController_Redirect_String(string uri)
        {
            // Arrange
            var controller = new ConcreteApiController();

            // Act
            var result = controller.Redirect(uri);

            // Assert
            var redirect = Assert.IsType<RedirectResult>(result);
            Assert.Equal(uri, result.Url);
        }
Exemplo n.º 44
0
        public void ApiController_Ok_Content()
        {
            // Arrange
            var controller = new ConcreteApiController();
            var product = new Product();

            // Act
            var result = controller.Ok(product);

            // Assert
            var okResult = Assert.IsType<OkNegotiatedContentResult<Product>>(result);
            Assert.Same(product, okResult.Content);
        }
Exemplo n.º 45
0
        public void ApiController_Created_Uri()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var uri = new Uri("http://contoso.com/");
            var product = new Product();

            // Act
            var result = controller.Created(uri, product);

            // Assert
            var created = Assert.IsType<CreatedResult>(result);
            Assert.Same(product, created.Value);
            Assert.Equal(uri.OriginalString, created.Location);
        }
Exemplo n.º 46
0
        public void ApiController_Created_String(string uri)
        {
            // Arrange
            var controller = new ConcreteApiController();

            var product = new Product();

            // Act
            var result = controller.Created(uri, product);

            // Assert
            var created = Assert.IsType<CreatedResult>(result);
            Assert.Same(product, created.Value);
            Assert.Equal(uri, created.Location);
        }
Exemplo n.º 47
-1
        public void ApiController_CreatedAtRoute_Dictionary()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var product = new Product();
            var values = new RouteValueDictionary(new { controller = "Products" });

            // Act
            var result = controller.CreatedAtRoute("api_route", values, product);

            // Assert
            var created = Assert.IsType<CreatedAtRouteResult>(result);
            Assert.Same(product, created.Value);
            Assert.Equal("api_route", created.RouteName);
            Assert.Equal("Products", created.RouteValues["controller"]);
            Assert.Equal<KeyValuePair<string, object>>(values, created.RouteValues);
        }
Exemplo n.º 48
-1
        public void ApiController_CreatedAtRoute()
        {
            // Arrange
            var controller = new ConcreteApiController();

            var product = new Product();

            // Act
            var result = controller.CreatedAtRoute("api_route", new { controller = "Products" }, product);

            // Assert
            var created = Assert.IsType<CreatedAtRouteResult>(result);
            Assert.Same(product, created.Value);
            Assert.Equal("api_route", created.RouteName);
            Assert.Equal("Products", created.RouteValues["controller"]);
        }