use of io.swagger.models.properties.RefProperty in project swagger-core by swagger-api.
the class ModelSerializerTest method serializeArrayModel.
@Test(description = "it should serialize an array model")
public void serializeArrayModel() throws IOException {
final ArrayModel model = new ArrayModel();
model.setItems(new RefProperty("Pet"));
assertEquals(m.writeValueAsString(model), "{\"type\":\"array\",\"items\":{\"$ref\":\"#/definitions/Pet\"}}");
}
use of io.swagger.models.properties.RefProperty in project swagger-core by swagger-api.
the class Reader method addResponse.
private void addResponse(Operation operation, ApiResponse apiResponse) {
Map<String, Property> responseHeaders = parseResponseHeaders(apiResponse.responseHeaders());
Response response = new Response().description(apiResponse.message()).headers(responseHeaders);
if (apiResponse.code() == 0) {
operation.defaultResponse(response);
} else {
operation.response(apiResponse.code(), response);
}
if (StringUtils.isNotEmpty(apiResponse.reference())) {
response.schema(new RefProperty(apiResponse.reference()));
} else if (!isVoid(apiResponse.response())) {
Type responseType = apiResponse.response();
final Property property = ModelConverters.getInstance().readAsProperty(responseType);
if (property != null) {
response.schema(ContainerWrapper.wrapContainer(apiResponse.responseContainer(), property));
appendModels(responseType);
}
}
}
use of io.swagger.models.properties.RefProperty in project swagger-core by swagger-api.
the class PropertySerializationTest method serializeRefProperty.
@Test(description = "it should serialize a RefProperty")
public void serializeRefProperty() throws IOException {
final RefProperty p = new RefProperty("Dog");
final String json = "{\"$ref\":\"#/definitions/Dog\"}";
assertEquals(m.writeValueAsString(p), json);
}
use of io.swagger.models.properties.RefProperty in project swagger-core by swagger-api.
the class SimpleReaderTest method checkResponseModelsProcessing.
@Test(description = "check response models processing")
public void checkResponseModelsProcessing() {
Swagger swagger = getSwagger(ResourceWithTypedResponses.class);
assertEquals(swagger.getDefinitions().keySet(), Arrays.asList("Tag"));
for (Map.Entry<String, Path> entry : swagger.getPaths().entrySet()) {
String name = entry.getKey().substring(entry.getKey().lastIndexOf("/") + 1);
if ("testPrimitiveResponses".equals(name)) {
Map<String, String[]> expected = ImmutableMap.of("400", new String[] { "string", "uri" }, "401", new String[] { "string", "url" }, "402", new String[] { "string", "uuid" }, "403", new String[] { "integer", "int64" }, "404", new String[] { "string", null });
assertEquals(entry.getValue().getGet().getResponses().size(), expected.size());
for (Map.Entry<String, Response> responseEntry : entry.getValue().getGet().getResponses().entrySet()) {
String[] expectedProp = expected.get(responseEntry.getKey());
Property property = responseEntry.getValue().getSchema();
assertEquals(property.getType(), expectedProp[0]);
assertEquals(property.getFormat(), expectedProp[1]);
}
} else {
Operation op = entry.getValue().getGet();
Property response = op.getResponses().get("200").getSchema();
Model model = ((BodyParameter) op.getParameters().get(0)).getSchema();
assertEquals(op.getParameters().size(), 1);
if ("testObjectResponse".equals(name)) {
assertEquals(((RefProperty) response).getSimpleRef(), "Tag");
assertEquals(((RefModel) model).getSimpleRef(), "Tag");
} else if ("testObjectsResponse".equals(name)) {
assertEquals(((RefProperty) ((ArrayProperty) response).getItems()).getSimpleRef(), "Tag");
assertEquals(((RefProperty) ((ArrayModel) model).getItems()).getSimpleRef(), "Tag");
} else if ("testStringResponse".equals(name)) {
assertEquals(response.getClass(), StringProperty.class);
assertEquals(((ModelImpl) model).getType(), "string");
} else if ("testStringsResponse".equals(name)) {
assertEquals(((ArrayProperty) response).getItems().getClass(), StringProperty.class);
assertEquals(((ArrayModel) model).getItems().getClass(), StringProperty.class);
} else if ("testMapResponse".equals(name)) {
assertEquals(((RefProperty) ((MapProperty) response).getAdditionalProperties()).getSimpleRef(), "Tag");
assertNull(model.getProperties());
assertEquals(((RefProperty) ((ModelImpl) model).getAdditionalProperties()).getSimpleRef(), "Tag");
} else {
fail(String.format("Unexpected property: %s", name));
}
}
}
}
use of io.swagger.models.properties.RefProperty in project swagger-core by swagger-api.
the class ReferenceTest method scanModel.
@Test(description = "Scan a model with common reference and reference with ApiModel")
public void scanModel() {
final Map<String, Property> props = ModelConverters.getInstance().readAll(Pet.class).get("Pet").getProperties();
final RefProperty category = (RefProperty) props.get("category");
assertEquals(category.getType(), "ref");
assertEquals(category.get$ref(), "#/definitions/Category");
final RefProperty categoryWithApiModel = (RefProperty) props.get("categoryWithApiModel");
assertEquals(categoryWithApiModel.getType(), "ref");
assertEquals(categoryWithApiModel.get$ref(), "#/definitions/MyCategory");
}
Aggregations