private static IEnumerable <HttpValidationError> ValidateBody( RouteSpecRequestBody body, JToken bodyContent, string contentType) { if (body == null) { yield return(ValidationError.UnexpectedContentType(contentType)); yield break; } if (bodyContent == null && body.Required) { yield return(ValidationError.BodyRequired()); yield break; } var schemaErrors = body.Schema.ValidateValue(bodyContent).ToArray(); if (schemaErrors.Any()) { yield return(ValidationError.InvalidBody(schemaErrors)); } }
public void CanInvalidateRequestWithoutRequiredBody() { var spec = TestData.Petstore.Post("/pets"); var ctx = RouteContextBuilder.FromUrl("/pets").WithSpec(spec).Build(); var actual = Sut.Validate(ctx); var expected = ValidationError.BodyRequired().AsStatus(); Assert.Equal(expected, actual); }