use of io.swagger.models.Model in project swagger-core by swagger-api.
the class ContainerTest method testComplexMap.
@Test
public void testComplexMap() throws Exception {
ModelResolver resolver = new ModelResolver(mapper());
final ModelConverterContextImpl context = new ModelConverterContextImpl(resolver);
context.resolve(WrapperType.class);
final Map<String, Model> models = context.getDefinedModels();
final Model innerType = models.get("InnerType");
assertNotNull(innerType);
final Map<String, Property> innerProps = innerType.getProperties();
assertEquals(innerProps.size(), 2);
final Property foo = innerProps.get("foo");
assertEquals(foo.getType(), "integer");
assertEquals(foo.getFormat(), "int32");
final Property name = innerProps.get("name");
assertEquals(name.getType(), "string");
final Model wrapperType = models.get("WrapperType");
assertNotNull(wrapperType);
assertEquals(wrapperType.getProperties().get("innerType").getType(), "object");
}
use of io.swagger.models.Model in project swagger-core by swagger-api.
the class InheritedBeanTest method testMultipleInheritedBean.
@Test
public void testMultipleInheritedBean() throws Exception {
final Model baseModel = context.resolve(MultipleBaseBean.class);
assertNotNull(baseModel);
assertBasePropertiesValid(baseModel.getProperties());
final Model sub1Model = context.getDefinedModels().get("MultipleSub1Bean");
assertNotNull(sub1Model);
// make sure child points at parent
assertTrue(sub1Model instanceof ComposedModel);
ComposedModel cm1 = (ComposedModel) sub1Model;
assertEquals(cm1.getParent().getReference(), "#/definitions/MultipleBaseBean");
// make sure parent properties are filtered out of subclass
assertSub1PropertiesValid(cm1.getChild().getProperties());
final Model sub2Model = context.getDefinedModels().get("MultipleSub2Bean");
assertNotNull(sub2Model);
// make sure child points at parent
assertTrue(sub2Model instanceof ComposedModel);
ComposedModel cm2 = (ComposedModel) sub2Model;
assertEquals(cm2.getParent().getReference(), "#/definitions/MultipleBaseBean");
// make sure parent properties are filtered out of subclass
assertSub2PropertiesValid(cm2.getChild().getProperties());
}
use of io.swagger.models.Model in project swagger-core by swagger-api.
the class InheritedBeanTest method testInheritedBean.
@Test
public void testInheritedBean() throws Exception {
final Model baseModel = context.resolve(BaseBean.class);
assertNotNull(baseModel);
assertBasePropertiesValid(baseModel.getProperties());
final Model subModel = context.getDefinedModels().get("Sub1Bean");
assertNotNull(subModel);
// make sure child points at parent
assertTrue(subModel instanceof ComposedModel);
ComposedModel cm = (ComposedModel) subModel;
assertEquals(cm.getParent().getReference(), "#/definitions/BaseBean");
// make sure parent properties are filtered out of subclass
assertSub1PropertiesValid(cm.getChild().getProperties());
}
use of io.swagger.models.Model in project swagger-core by swagger-api.
the class InheritedBeanTest method testMultipleInheritedChildBean.
@Test
public void testMultipleInheritedChildBean() throws Exception {
final Model subModel = context.resolve(MultipleSub1Bean.class);
assertNotNull(subModel);
// make sure child points at parent
assertTrue(subModel instanceof ComposedModel);
ComposedModel cm = (ComposedModel) subModel;
assertEquals(cm.getParent().getReference(), "#/definitions/MultipleBaseBean");
// make sure parent properties are filtered out of subclass
assertSub1PropertiesValid(cm.getChild().getProperties());
final Model baseModel = context.getDefinedModels().get("MultipleBaseBean");
assertNotNull(baseModel);
assertBasePropertiesValid(baseModel.getProperties());
final Model sub1Model = context.getDefinedModels().get("MultipleSub1Bean");
assertNotNull(sub1Model);
// make sure child points at parent
assertTrue(sub1Model instanceof ComposedModel);
ComposedModel cm1 = (ComposedModel) sub1Model;
assertEquals(cm1.getParent().getReference(), "#/definitions/MultipleBaseBean");
// make sure parent properties are filtered out of subclass
assertSub1PropertiesValid(cm1.getChild().getProperties());
final Model sub2Model = context.getDefinedModels().get("MultipleSub2Bean");
assertNotNull(sub2Model);
// make sure child points at parent
assertTrue(sub2Model instanceof ComposedModel);
ComposedModel cm2 = (ComposedModel) sub2Model;
assertEquals(cm2.getParent().getReference(), "#/definitions/MultipleBaseBean");
// make sure parent properties are filtered out of subclass
assertSub2PropertiesValid(cm2.getChild().getProperties());
}
use of io.swagger.models.Model 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));
}
}
}
}
Aggregations