Skip to content

Commit 2528449

Browse files
authored
Merge pull request #28 from mservicetech/issue27
fixes #27
2 parents b53406e + b770f14 commit 2528449

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

src/main/java/com/mservicetech/openapi/validation/OpenApiValidator.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,10 @@ public Status validateRequestPath (String requestURI , String httpMethod, Reques
137137
if ((requestEntity.getContentType()==null || requestEntity.getContentType().startsWith("application/json"))) {
138138
try {
139139
Object body = attachJsonBody(requestEntity.getRequestBody());
140-
if (body!=null) {
141-
status = validateRequestBody(body, openApiOperation);
142-
}
140+
status = validateRequestBody(body, openApiOperation);
141+
// if (body!=null) {
142+
// status = validateRequestBody(body, openApiOperation);
143+
// }
143144
} catch (Exception e) {
144145
status = new Status( VALIDATOR_REQUEST_BODY_UNEXPECTED, requestPath.normalised());
145146
}

src/test/java/com/mservicetech/openapi/validation/OpenApiValidatorTest.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,32 @@ public void testRequestBody4() throws JsonProcessingException {
9999
//{"statusCode":400,"code":"ERR11004","message":"VALIDATOR_SCHEMA","description":"Schema Validation Error - requestBody.id: string found, integer expected","severity":"ERROR"}
100100
}
101101

102+
@Test
103+
public void testRequestBodyEmpty() {
104+
String req = "";
105+
RequestEntity requestEntity = new RequestEntity();
106+
requestEntity.setRequestBody(req);
107+
requestEntity.setContentType("application/json");
108+
Status status = openApiValidator.validateRequestPath("/pets", "post", requestEntity);
109+
Assert.assertNotNull(status);
110+
Assert.assertEquals( status.getCode(), "ERR11013");
111+
System.out.println(status.getDescription());
112+
//{"statusCode":400,"code":"ERR11013","message":"VALIDATOR_REQUEST_BODY_UNEXPECTED","No request body is expected for %s on path %s.":"ERROR"}
113+
}
114+
115+
@Test
116+
public void testRequestBodyNull() {
117+
String req = null;
118+
RequestEntity requestEntity = new RequestEntity();
119+
requestEntity.setRequestBody(req);
120+
requestEntity.setContentType("application/json");
121+
Status status = openApiValidator.validateRequestPath("/pets", "post", requestEntity);
122+
Assert.assertNotNull(status);
123+
Assert.assertEquals( status.getCode(), "ERR11014");
124+
//{"statusCode":400,"code":"ERR11004","message":"VALIDATOR_REQUEST_BODY_MISSING","description":"Method post on path /pets requires a request body. None found.","severity":"ERROR"}
125+
}
126+
127+
102128
@Test
103129
public void testRequestPath() {
104130

0 commit comments

Comments
 (0)