use of com.yahoo.elide.swagger.property.Data in project elide by yahoo.
the class SwaggerBuilderTest method verifyData.
/**
* Verifies that the given model is of type 'Data' containing a reference to the given model name.
* @param model The model to check
* @param refTypeName The model name to check
*/
private void verifyData(Model model, String refTypeName) {
assertTrue((model instanceof com.yahoo.elide.swagger.model.Data));
ArrayProperty data = (ArrayProperty) model.getProperties().get("model");
RefProperty ref = (RefProperty) data.getItems();
assertEquals("#/definitions/" + refTypeName, ref.get$ref());
}
use of com.yahoo.elide.swagger.property.Data in project elide by yahoo.
the class SwaggerBuilderTest method verifyData.
/**
* Verifies that the given property is of type 'Data' containing a reference to the given model.
* @param property The property to check
* @param refTypeName The model name
*/
private void verifyData(Property property, String refTypeName) {
assertTrue((property instanceof Data));
ArrayProperty data = (ArrayProperty) ((Data) property).getProperties().get("data");
RefProperty ref = (RefProperty) data.getItems();
assertEquals("#/definitions/" + refTypeName, ref.get$ref());
}
use of com.yahoo.elide.swagger.property.Data in project elide by yahoo.
the class SwaggerBuilderTest method verifyDataRelationship.
/**
* Verifies that the given model is of type 'Data' containing a 'Relationship' with the
* correct type field.
* @param model The model to check
* @param refTypeName The type field to match against
*/
private void verifyDataRelationship(Model model, String refTypeName) {
assertTrue((model instanceof com.yahoo.elide.swagger.model.Data));
ArrayProperty data = (ArrayProperty) model.getProperties().get("data");
Relationship relation = (Relationship) data.getItems();
StringProperty type = (StringProperty) relation.getProperties().get("type");
assertTrue(type.getEnum().contains(refTypeName));
}
use of com.yahoo.elide.swagger.property.Data in project elide by yahoo.
the class SwaggerBuilderTest method verifyDataRelationship.
/**
* Verifies that the given property is of type 'Data' containing a 'Relationship' with the
* correct type field.
* @param property The property to check
* @param refTypeName The type field to match against
*/
private void verifyDataRelationship(Property property, String refTypeName) {
assertTrue((property instanceof Data));
ArrayProperty data = (ArrayProperty) ((Data) property).getProperties().get("data");
Relationship relation = (Relationship) data.getItems();
StringProperty type = (StringProperty) relation.getProperties().get("type");
assertTrue(type.getEnum().contains(refTypeName));
}
use of com.yahoo.elide.swagger.property.Data 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