use of io.swagger.v3.core.oas.models.Person in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testNestedDefinitions.
@Test
public void testNestedDefinitions() {
String yaml = "openapi: 3.0.0\n" + "servers: []\n" + "info:\n" + " version: ''\n" + " title: ''\n" + "paths: {}\n" + "components:\n" + " schemas:\n" + " Person:\n" + " required:\n" + " - id\n" + " - name\n" + " properties:\n" + " id:\n" + " type: integer\n" + " format: int64\n" + " name:\n" + " type: string\n" + " address:\n" + " $ref: '#/components/schemas/Address'\n" + " Address:\n" + " required:\n" + " - zip\n" + " properties:\n" + " street:\n" + " type: string\n" + " zip:\n" + " type: integer\n" + " format: int32\n" + " minimum: 0\n" + " exclusiveMinimum: true\n" + " maximum: 99999\n" + " exclusiveMaximum: true";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
assertTrue(result.getOpenAPI().getComponents().getSchemas().get("Person") instanceof Schema);
assertTrue(result.getOpenAPI().getComponents().getSchemas().get("Address") instanceof Schema);
Schema person = result.getOpenAPI().getComponents().getSchemas().get("Person");
Schema property = (Schema) person.getProperties().get("address");
assertTrue(property.get$ref() != null);
Schema zip = (Schema) (result.getOpenAPI().getComponents().getSchemas().get("Address")).getProperties().get("zip");
assertTrue(zip instanceof IntegerSchema);
IntegerSchema zipProperty = (IntegerSchema) zip;
assertEquals(zipProperty.getMinimum(), new BigDecimal("0"));
assertTrue(zipProperty.getExclusiveMinimum());
assertEquals(zipProperty.getMaximum(), new BigDecimal("99999"));
assertTrue(zipProperty.getExclusiveMaximum());
}
Aggregations