use of io.swagger.v3.jaxrs2.resources.model.Pet in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method testArrayQueryParam.
@Test
public void testArrayQueryParam() throws Exception {
String yaml = "openapi: 3.0.0\n" + "servers: []\n" + "paths:\n" + " /pet/findByStatus:\n" + " get:\n" + " parameters:\n" + " - name: status\n" + " in: query\n" + " description: Status values that need to be considered for filter\n" + " required: false\n" + " style: pipeDelimited\n" + " schema:\n" + " type: array\n" + " items:\n" + " type: string\n" + " default: available\n" + " responses:\n" + " '200':\n" + " description: successful operation\n" + " content:\n" + " '*/*':\n" + " schema:\n" + " $ref: #/components/schemas/PetArray\n" + "info:\n" + " version: ''\n" + " title: ''";
OpenAPIV3Parser parser = new OpenAPIV3Parser();
SwaggerParseResult result = parser.readContents(yaml, null, null);
OpenAPI openAPI = result.getOpenAPI();
Parameter param = openAPI.getPaths().get("/pet/findByStatus").getGet().getParameters().get(0);
assertTrue(param instanceof QueryParameter);
QueryParameter qp = (QueryParameter) param;
Schema p = qp.getSchema();
assertEquals(p.getType(), "array");
assertTrue(((ArraySchema) p).getItems() instanceof StringSchema);
}
use of io.swagger.v3.jaxrs2.resources.model.Pet in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method readComponentsObject.
@Test(dataProvider = "data")
public void readComponentsObject(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);
Assert.assertEquals(openAPI.getOpenapi(), "3.0.1");
final Components component = openAPI.getComponents();
Assert.assertNotNull(component);
Assert.assertNotNull(component.getCallbacks());
Assert.assertEquals(component.getCallbacks().get("heartbeat").get("$request.query.heartbeat-url").getPost().getResponses().get("200").getDescription(), "Consumer acknowledged the callback");
// System.out.println(component.getCallbacks().get("referenced"));
Assert.assertEquals(component.getCallbacks().get("failed").get("$response.body#/failedUrl").getPost().getResponses().get("200").getDescription(), "Consumer acknowledged the callback failed");
Assert.assertNotNull(component.getExamples());
Assert.assertEquals(component.getExamples().get("cat").getSummary(), "An example of a cat");
Assert.assertNotNull(component.getExamples().get("cat").getValue());
Assert.assertNotNull(component.getHeaders());
Assert.assertEquals(component.getHeaders().get("X-Rate-Limit-Limit").getDescription(), "The number of allowed requests in the current period");
Assert.assertEquals(component.getHeaders().get("X-Rate-Limit-Limit").getSchema().getType(), "integer");
Assert.assertNotNull(component.getLinks());
Assert.assertEquals(component.getLinks().get("unsubscribe").getOperationId(), "cancelHookCallback");
Assert.assertNotNull(component.getLinks().get("unsubscribe").getParameters());
Assert.assertEquals(component.getLinks().get("unsubscribe").getExtensions().get("x-link"), "link extension");
Assert.assertNotNull(component.getParameters());
Assert.assertEquals(component.getParameters().get("skipParam").getName(), "skip");
Assert.assertEquals(component.getParameters().get("skipParam").getIn(), "query");
Assert.assertEquals(component.getParameters().get("skipParam").getDescription(), "number of items to skip");
assertTrue(component.getParameters().get("skipParam").getRequired());
Assert.assertEquals(component.getParameters().get("skipParam").getSchema().getType(), "integer");
Assert.assertNotNull(component.getRequestBodies());
Assert.assertEquals(component.getRequestBodies().get("requestBody1").getDescription(), "request body in components");
Assert.assertEquals(component.getRequestBodies().get("requestBody1").getContent().get("application/json").getSchema().get$ref(), "#/components/schemas/Pet");
Assert.assertEquals(component.getRequestBodies().get("requestBody1").getContent().get("application/xml").getSchema().get$ref(), "#/components/schemas/Pet");
Assert.assertEquals(component.getRequestBodies().get("requestBody2").getContent().get("application/json").getSchema().getType().toString(), "array");
Assert.assertNotNull(component.getRequestBodies().get("requestBody2").getContent().get("application/json").getSchema());
Assert.assertNotNull(component.getResponses());
Assert.assertEquals(component.getResponses().get("NotFound").getDescription(), "Entity not found.");
Assert.assertEquals(component.getResponses().get("IllegalInput").getDescription(), "Illegal input for operation.");
Assert.assertEquals(component.getResponses().get("GeneralError").getDescription(), "General Error");
Assert.assertEquals(component.getResponses().get("GeneralError").getContent().get("application/json").getSchema().get$ref(), "#/components/schemas/ExtendedErrorModel");
Assert.assertNotNull(component.getSchemas());
Assert.assertEquals(component.getSchemas().get("Category").getType(), "object");
Assert.assertEquals(component.getSchemas().get("ApiResponse").getRequired().get(0), "name");
Assert.assertEquals(component.getSchemas().get("Order").getType(), "object");
Assert.assertEquals(component.getSchemas().get("Order").getNot().getType(), "integer");
assertTrue(component.getSchemas().get("Order").getAdditionalProperties() instanceof Schema);
Schema additionalProperties = (Schema) component.getSchemas().get("Order").getAdditionalProperties();
Assert.assertEquals(additionalProperties.getType(), "integer");
Schema schema = (Schema) component.getSchemas().get("Order").getProperties().get("status");
Map<String, Schema> properties = (Map<String, Schema>) component.getSchemas().get("Order").getProperties();
Assert.assertNotNull(properties);
Assert.assertEquals(properties.get("status").getType(), "string");
Assert.assertEquals(properties.get("status").getDescription(), "Order Status");
Assert.assertEquals(properties.get("status").getEnum().get(0), "placed");
Assert.assertNotNull(component.getSecuritySchemes());
Assert.assertEquals(component.getSecuritySchemes().get("petstore_auth").getType().toString(), "oauth2");
Assert.assertEquals(component.getSecuritySchemes().get("petstore_auth").getFlows().getImplicit().getAuthorizationUrl(), "http://petstore.swagger.io/oauth/dialog");
// TODO
Assert.assertNotNull(component.getSecuritySchemes().get("petstore_auth").getFlows().getImplicit().getScopes());
Assert.assertNotNull(component.getExtensions());
assertTrue(component.getExtensions().containsKey("x-component"));
Object object = component.getExtensions().get("x-component");
assertTrue(object instanceof List);
List elements = (List) object;
Assert.assertEquals(elements.size(), 1);
Map<String, Object> map = (Map) elements.get(0);
Assert.assertEquals(map.get("url"), "http://component.swagger.io/v2/swagger.json");
Assert.assertEquals(map.get("format"), "OAS");
Assert.assertEquals(map.get("version"), "3.0");
Map<String, Object> converter = (Map<String, Object>) map.get("converter");
Assert.assertNotNull(converter);
Assert.assertEquals(converter.get("url"), "https://github.com/mermade/oas3");
Assert.assertEquals(converter.get("version"), "1.2.3");
object = component.getExtensions().get("x-api-title");
assertTrue(object instanceof String);
Assert.assertEquals("pet store test api in components", object.toString());
}
use of io.swagger.v3.jaxrs2.resources.model.Pet in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method readTagObject.
@Test(dataProvider = "data")
public void readTagObject(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 List<Tag> Tag = openAPI.getTags();
Assert.assertNotNull(Tag);
Assert.assertNotNull(Tag.get(0));
Assert.assertNotNull(Tag.get(0).getName());
Assert.assertEquals(Tag.get(0).getName(), "pet");
Assert.assertNotNull(Tag.get(0).getDescription());
Assert.assertEquals(Tag.get(0).getDescription(), "Everything about your Pets");
Assert.assertNotNull(Tag.get(0).getExternalDocs());
Assert.assertNotNull(Tag.get(1));
Assert.assertNotNull(Tag.get(1).getName());
Assert.assertNotNull(Tag.get(1).getDescription());
Assert.assertEquals(Tag.get(1).getName(), "store");
Assert.assertEquals(Tag.get(1).getDescription(), "Access to Petstore orders");
}
use of io.swagger.v3.jaxrs2.resources.model.Pet in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method readExtensions.
@Test(dataProvider = "data")
public void readExtensions(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);
Assert.assertNotNull(openAPI.getExtensions());
assertTrue(openAPI.getExtensions().containsKey("x-origin"));
Object object = openAPI.getExtensions().get("x-origin");
assertTrue(object instanceof List);
List elements = (List) object;
Assert.assertEquals(elements.size(), 1);
Map<String, Object> map = (Map) elements.get(0);
Assert.assertEquals(map.get("url"), "http://petstore.swagger.io/v2/swagger.json");
Assert.assertEquals(map.get("format"), "swagger");
Assert.assertEquals(map.get("version"), "2.0");
Map<String, Object> converter = (Map<String, Object>) map.get("converter");
Assert.assertNotNull(converter);
Assert.assertEquals(converter.get("url"), "https://github.com/mermade/swagger2openapi");
Assert.assertEquals(converter.get("version"), "1.2.1");
object = openAPI.getExtensions().get("x-api-title");
assertTrue(object instanceof String);
Assert.assertEquals("pet store test api", object.toString());
}
use of io.swagger.v3.jaxrs2.resources.model.Pet in project swagger-parser by swagger-api.
the class OpenAPIDeserializerTest method readContentObject.
@Test(dataProvider = "data")
public void readContentObject(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);
PathItem petByStatusEndpoint = paths.get("/pet/findByStatusContent");
Assert.assertNotNull(petByStatusEndpoint.getGet());
Assert.assertNotNull(petByStatusEndpoint.getGet().getParameters());
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().size(), 3);
Assert.assertNotNull(petByStatusEndpoint.getGet().getParameters().get(0).getContent());
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().size(), 1);
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("application/json").getSchema().getType(), "array");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("application/json").getExample(), null);
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("application/json").getExamples().get("list").getSummary(), "List of Names");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(0).getContent().get("application/json").getSchema().getType(), "array");
Assert.assertNotNull(petByStatusEndpoint.getGet().getParameters().get(1).getContent());
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(1).getContent().size(), 1);
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(1).getContent().get("application/xml").getExamples().get("list").getSummary(), "List of names");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(1).getContent().get("application/xml").getExamples().get("list").getValue(), "<Users><User name='Bob'/><User name='Diane'/><User name='Mary'/><User name='Bill'/></Users>");
Assert.assertNotNull(petByStatusEndpoint.getGet().getParameters().get(1).getContent().get("application/xml").getExamples().get("empty").getSummary());
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(1).getContent().get("application/xml").getExamples().get("empty").getSummary(), "Empty list");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(1).getContent().get("application/xml").getExamples().get("empty").getValue(), "<Users/>");
Assert.assertNotNull(petByStatusEndpoint.getGet().getParameters().get(2).getContent());
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(2).getContent().size(), 1);
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(2).getContent().get("text/plain").getExamples().get("list").getSummary(), "List of names");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(2).getContent().get("text/plain").getExamples().get("list").getValue(), "Bob,Diane,Mary,Bill");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(2).getContent().get("text/plain").getExamples().get("empty").getSummary(), "Empty");
Assert.assertEquals(petByStatusEndpoint.getGet().getParameters().get(2).getContent().get("text/plain").getExamples().get("empty").getValue(), "");
PathItem petEndpoint = paths.get("/pet");
Assert.assertNotNull(petEndpoint.getPut());
Assert.assertNotNull(petEndpoint.getPut().getResponses().get("400").getContent().get("application/json"));
Assert.assertEquals(petEndpoint.getPut().getResponses().get("400").getContent().size(), 1);
Assert.assertEquals(petEndpoint.getPut().getResponses().get("400").getContent().get("application/json").getSchema().getType(), "array");
}
Aggregations