use of io.swagger.v3.parser.OpenAPIV3Parser in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testAdditionalPropertiesBoolean.
@Test
public void testAdditionalPropertiesBoolean() {
String yaml = "openapi: 3.0.0\n" + "info:\n" + " title: Test\n" + " version: 1.0.0\n" + "paths:\n" + " \"/store/inventory\":\n" + " post:\n" + " requestBody:\n" + " content:\n" + " application/json:\n" + " schema:\n" + " additionalProperties: true\n" + " responses:\n" + " '200':\n" + " description: successful operation\n" + " content:\n" + " application/json:\n" + " schema:\n" + " additionalProperties: false\n";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
assertEquals(result.getMessages(), emptyList());
OpenAPI openAPI = result.getOpenAPI();
Schema body = openAPI.getPaths().get("/store/inventory").getPost().getRequestBody().getContent().get("application/json").getSchema();
assertEquals(body.getAdditionalProperties(), Boolean.TRUE);
assertEquals(body.getClass(), MapSchema.class);
Schema response = openAPI.getPaths().get("/store/inventory").getPost().getResponses().get("200").getContent().get("application/json").getSchema();
assertEquals(response.getAdditionalProperties(), Boolean.FALSE);
assertEquals(response.getClass(), ObjectSchema.class);
}
use of io.swagger.v3.parser.OpenAPIV3Parser in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testRootInfo.
@Test
public void testRootInfo() {
String json = "{\n" + "\t\"openapi\": \"3.0.0\",\n" + "\t\"foo\": \"bar\",\n" + "\t\"info\": \"invalid\"\n" + "}";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(json, null, null);
List<String> messageList = result.getMessages();
Set<String> messages = new HashSet<>(messageList);
assertTrue(messages.contains("attribute foo is unexpected"));
assertTrue(messages.contains("attribute info is not of type `object`"));
}
use of io.swagger.v3.parser.OpenAPIV3Parser in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testIssue247.
@Test
public void testIssue247() {
String yaml = "openapi: 3.0.0\n" + "servers: []\n" + "info:\n" + " description: bleh\n" + " version: 2.0.0\n" + " title: Test\n" + "paths:\n" + " /:\n" + " get:\n" + " responses:\n" + " '200':\n" + " description: OK\n" + " parameters: []\n" + "components:\n" + " schemas:\n" + " Pet:\n" + " allOf:\n" + " - type: object\n" + " required:\n" + " - id\n" + " properties:\n" + " id:\n" + " type: integer\n" + " format: int64";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
OpenAPI openAPI = result.getOpenAPI();
assertNotNull(openAPI.getComponents().getSchemas().get("Pet"));
}
use of io.swagger.v3.parser.OpenAPIV3Parser in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testValidatorIssue50.
@Test
public void testValidatorIssue50() {
String yaml = "openapi: 3.0.0\n" + "servers:\n" + " - url: 'http://local.xxx.com/'\n" + "info:\n" + " version: 2.0.0\n" + " title: Beanhunter API\n" + " description: Description of the api goes here.\n" + "paths:\n" + " /city:\n" + " get:\n" + " description: test description\n" + "components:\n" + " schemas:\n" + " Endpoints:\n" + " title: Endpoints object\n" + " properties:\n" + " links: {}";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
assertTrue(result.getMessages().size() == 1);
}
use of io.swagger.v3.parser.OpenAPIV3Parser in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testEmptyDefinitions.
@Test
public void testEmptyDefinitions() throws Exception {
String yaml = "openapi: 3.0.0\n" + "servers:\n" + " - url: 'http://abc:5555/mypath'\n" + "info:\n" + " version: '1.0'\n" + " title: dd\n" + "paths:\n" + " /resource1/Id:\n" + " post:\n" + " description: ''\n" + " operationId: postOp\n" + " responses:\n" + " '200':\n" + " description: Successful\n" + " '401':\n" + " description: Access Denied\n" + " requestBody:\n" + " content:\n" + " application/json:\n" + " schema:\n" + " $ref: '#/components/schemas/mydefinition'\n" + " required: true\n" + "components:\n" + " schemas:\n" + " mydefinition: {}";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
OpenAPI openAPI = result.getOpenAPI();
assertNotNull(openAPI);
assertNotNull(openAPI.getComponents().getSchemas().get("mydefinition"));
}
Aggregations