use of io.swagger.v3.oas.models.Paths 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"));
}
use of io.swagger.v3.oas.models.Paths in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testLicense.
@Test
public void testLicense() {
String yaml = "openapi: 3.0.0\n" + "servers: []\n" + "info:\n" + " license:\n" + " invalid: true\n" + " x-valid:\n" + " isValid: true\n" + " version: ''\n";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
List<String> messageList = result.getMessages();
Set<String> messages = new HashSet<>(messageList);
assertTrue(messages.contains("attribute info.license.invalid is unexpected"));
assertTrue(messages.contains("attribute info.title is missing"));
assertTrue(messages.contains("attribute paths is missing"));
assertEquals(((Map) result.getOpenAPI().getInfo().getLicense().getExtensions().get("x-valid")).get("isValid"), true);
}
use of io.swagger.v3.oas.models.Paths in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method readSchemaArray.
@Test(dataProvider = "data")
public void readSchemaArray(JsonNode rootNode) throws Exception {
final OpenAPIDeserializer deserializer = new OpenAPIDeserializer();
final SwaggerParseResult result = deserializer.deserialize(rootNode);
Assert.assertNotNull(result);
final OpenAPI openAPI = result.getOpenAPI();
Assert.assertNotNull(openAPI);
final Paths paths = openAPI.getPaths();
Assert.assertNotNull(paths);
Assert.assertEquals(paths.size(), 19);
// parameters operation get
PathItem petByStatusEndpoint = paths.get("/pet/findByTags");
Assert.assertNotNull(petByStatusEndpoint.getGet());
Assert.assertNotNull(petByStatusEndpoint.getGet().getParameters());
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().size(), 1);
Assert.assertNotNull(petByStatusEndpoint.getGet().getParameters().get(0).getSchema());
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getSchema().getType(), "array");
Assert.assertEquals(((ArraySchema) (petByStatusEndpoint.getGet().getParameters().get(0).getSchema())).getItems().getType(), "string");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getName(), "tags");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getExplode(), Boolean.TRUE);
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getStyle(), StyleEnum.FORM);
}
use of io.swagger.v3.oas.models.Paths in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testIssue450.
@Test
public void testIssue450() {
String desc = "An array of Pets";
String xTag = "x-my-tag";
String xVal = "An extension tag";
String yaml = "openapi: 3.0.0\n" + "servers: []\n" + "info:\n" + " version: 0.0.0\n" + " title: Simple API\n" + "paths:\n" + " /:\n" + " get:\n" + " responses:\n" + " '200':\n" + " description: OK\n" + "components:\n" + " schemas:\n" + " PetArray:\n" + " type: array\n" + " items:\n" + " $ref: '#/components/schemas/Pet'\n" + " description: An array of Pets\n" + " x-my-tag: An extension tag\n" + " Pet:\n" + " type: object\n" + " properties:\n" + " id:\n" + " type: string";
SwaggerParseResult result = new OpenAPIV3Parser().readContents(yaml, null, null);
assertNotNull(result.getOpenAPI());
final OpenAPI openAPI = result.getOpenAPI();
Schema petArray = openAPI.getComponents().getSchemas().get("PetArray");
assertNotNull(petArray);
assertTrue(petArray instanceof ArraySchema);
assertEquals(petArray.getDescription(), desc);
assertNotNull(petArray.getExtensions());
assertNotNull(petArray.getExtensions().get(xTag));
assertEquals(petArray.getExtensions().get(xTag), xVal);
}
use of io.swagger.v3.oas.models.Paths in project swagger-parser by swagger-api.
the class OpenAPIV3ParserTest method testModelParameters.
@Test
public void testModelParameters() throws Exception {
String yaml = "openapi: '2.0'\n" + "info:\n" + " version: \"0.0.0\"\n" + " title: test\n" + "paths:\n" + " /foo:\n" + " get:\n" + " parameters:\n" + " - name: amount\n" + " in: body\n" + " schema:\n" + " type: integer\n" + " format: int64\n" + " description: amount of money\n" + " default: 1000\n" + " maximum: 100000\n" + " responses:\n" + " 200:\n" + " description: ok";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
OpenAPI openAPI = (parser.readContents(yaml, null, null)).getOpenAPI();
}
Aggregations