use of io.swagger.v3.oas.models.info.Info 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.oas.models.info.Info 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.oas.models.info.Info 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.oas.models.info.Info 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.oas.models.info.Info in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testIssue1072.
@Test
public void testIssue1072() throws Exception {
String yaml = "openapi: 3.0.0\n" + "info:\n" + " title: Test\n" + " version: 1.0.0\n" + "\n" + "paths:\n" + " /value:\n" + " get:\n" + " operationId: getValues\n" + " responses:\n" + " 200:\n" + " description: Successful response\n" + " content:\n" + " application/json:\n" + " schema:\n" + " $ref: '#/components/schemas/ComponentA'\n" + "components:\n" + " schemas:\n" + " ComponentA:\n" + " description: Component A\n" + " type: object\n" + " allOf:\n" + " - type: object\n" + " properties:\n" + " attributeWithoutType:\n" + " allOf:\n" + " - $ref: '#/components/schemas/ComponentB'\n" + " default: \"coucou\"\n" + " attributeWithWrongType:\n" + " type: object\n" + " allOf:\n" + " - $ref: '#/components/schemas/ComponentB'\n" + " default: \"coucou\"\n" + " correctAttribute:\n" + " type: string\n" + " allOf:\n" + " - $ref: '#/components/schemas/ComponentB'\n" + " default: \"coucou\"\n" + " ComponentB:\n" + " description: Component B\n" + " type: string";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
OpenAPI openAPI = result.getOpenAPI();
assertNotNull(openAPI);
}
Aggregations