use of example.models.Author in project elide by yahoo.
the class SwaggerBuilderTest method testOperationRequestBodies.
@Test
public void testOperationRequestBodies() throws Exception {
/* These take a datum pointing to a resource */
Operation[] resourceOps = { swagger.getPaths().get("/book").getPost(), swagger.getPaths().get("/book/{bookId}").getPatch() };
for (Operation op : resourceOps) {
BodyParameter bodyParam = (BodyParameter) op.getParameters().stream().filter((param) -> param.getIn().equals("body")).findFirst().get();
assertNotNull(bodyParam);
verifyDatum(bodyParam.getSchema(), "book");
}
/* These don't take any params */
Operation[] noParamOps = { swagger.getPaths().get("/book").getGet(), swagger.getPaths().get("/book/{bookId}").getDelete(), swagger.getPaths().get("/book/{bookId}").getGet() };
for (Operation op : noParamOps) {
Optional<Parameter> bodyParam = op.getParameters().stream().filter((param) -> param.getIn().equals("body")).findFirst();
assertFalse(bodyParam.isPresent());
}
/* These take a 'data' of relationships */
Operation[] relationshipOps = { swagger.getPaths().get("/book/{bookId}/relationships/authors").getPatch(), swagger.getPaths().get("/book/{bookId}/relationships/authors").getDelete(), swagger.getPaths().get("/book/{bookId}/relationships/authors").getPost() };
for (Operation op : relationshipOps) {
BodyParameter bodyParam = (BodyParameter) op.getParameters().stream().filter((param) -> param.getIn().equals("body")).findFirst().get();
assertNotNull(bodyParam);
verifyDataRelationship(bodyParam.getSchema(), "author");
}
}
Aggregations