Пример #1
0
        public void ProblemDetailsInvalidModelStateResponse_SetsTraceIdFromRequest_IfActivityIsNull()
        {
            // Arrange
            var actionContext = new ActionContext
            {
                HttpContext = new DefaultHttpContext {
                    TraceIdentifier = "42"
                },
            };

            // Act
            var result = ApiBehaviorOptionsSetup.ProblemDetailsInvalidModelStateResponse(actionContext);

            // Assert
            var badRequest     = Assert.IsType <BadRequestObjectResult>(result);
            var problemDetails = Assert.IsType <ValidationProblemDetails>(badRequest.Value);

            Assert.Equal("42", problemDetails.Extensions["traceId"]);
        }
Пример #2
0
        public void ProblemDetailsInvalidModelStateResponse_ReturnsBadRequestWithProblemDetails()
        {
            // Arrange
            var actionContext = new ActionContext
            {
                HttpContext = new DefaultHttpContext {
                    TraceIdentifier = "42"
                },
            };

            // Act
            var result = ApiBehaviorOptionsSetup.ProblemDetailsInvalidModelStateResponse(actionContext);

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

            Assert.Equal(new[] { "application/problem+json", "application/problem+xml" }, badRequest.ContentTypes.OrderBy(c => c));

            var problemDetails = Assert.IsType <ValidationProblemDetails>(badRequest.Value);

            Assert.Equal(400, problemDetails.Status);
        }