use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderTest method testResponseWithFilter.
@Test(description = "Responses with filter")
public void testResponseWithFilter() {
Components components = new Components();
components.addResponses("invalidJWT", new ApiResponse().description("when JWT token invalid/expired"));
OpenAPI oas = new OpenAPI().info(new Info().description("info")).components(components);
Reader reader = new Reader(oas);
OpenAPI openAPI = reader.read(SimpleResponsesResource.class);
OpenAPISpecFilter filterImpl = new RefResponseFilter();
SpecFilter f = new SpecFilter();
openAPI = f.filter(openAPI, filterImpl, null, null, null);
String yaml = "openapi: 3.0.1\n" + "info:\n" + " description: info\n" + "paths:\n" + " /:\n" + " get:\n" + " summary: Simple get operation\n" + " description: Defines a simple get operation with no inputs and a complex output\n" + " object\n" + " operationId: getWithPayloadResponse\n" + " responses:\n" + " \"200\":\n" + " description: voila!\n" + " content:\n" + " application/json:\n" + " schema:\n" + " $ref: '#/components/schemas/SampleResponseSchema'\n" + " default:\n" + " description: boo\n" + " content:\n" + " '*/*':\n" + " schema:\n" + " $ref: '#/components/schemas/GenericError'\n" + " \"401\":\n" + " $ref: '#/components/responses/invalidJWT'\n" + " deprecated: true\n" + "components:\n" + " schemas:\n" + " GenericError:\n" + " type: object\n" + " SampleResponseSchema:\n" + " type: object\n" + " responses:\n" + " invalidJWT:\n" + " description: when JWT token invalid/expired";
SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
}
use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderTest method testTicket2340.
@Test(description = "Responses with array schema")
public void testTicket2340() {
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(Ticket2340Resource.class);
String yaml = "openapi: 3.0.1\n" + "paths:\n" + " /test/test:\n" + " post:\n" + " operationId: getAnimal\n" + " requestBody:\n" + " content:\n" + " application/json:\n" + " schema:\n" + " $ref: '#/components/schemas/Animal'\n" + " responses:\n" + " default:\n" + " description: default response\n" + " content:\n" + " application/json:\n" + " schema:\n" + " type: string\n" + "components:\n" + " schemas:\n" + " Animal:\n" + " required:\n" + " - type\n" + " type: object\n" + " properties:\n" + " type:\n" + " type: string\n" + " discriminator:\n" + " propertyName: type\n" + " Cat:\n" + " type: object\n" + " allOf:\n" + " - $ref: '#/components/schemas/Animal'\n" + " - type: object\n" + " properties:\n" + " lives:\n" + " type: integer\n" + " format: int32\n" + " Dog:\n" + " type: object\n" + " allOf:\n" + " - $ref: '#/components/schemas/Animal'\n" + " - type: object\n" + " properties:\n" + " barkVolume:\n" + " type: number\n" + " format: double\n";
SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
}
use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderTest method testRequestBodyExtensions.
@Test(description = "RequestBody Tests")
public void testRequestBodyExtensions() {
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(RequestBodyExtensionsResource.class);
assertNotNull(openAPI);
Map<String, Object> extensions = openAPI.getPaths().get("/user").getGet().getRequestBody().getExtensions();
assertNotNull(extensions);
assertEquals(extensions.size(), 2);
assertNotNull(extensions.get("x-extension"));
assertNotNull(extensions.get("x-extension2"));
}
use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderTest method testTicket3587.
@Test(description = "Parameter examples ordering")
public void testTicket3587() {
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(Ticket3587Resource.class);
String yaml = "openapi: 3.0.1\n" + "paths:\n" + " /test/test:\n" + " get:\n" + " operationId: parameterExamplesOrderingTest\n" + " parameters:\n" + " - in: query\n" + " schema:\n" + " type: string\n" + " examples:\n" + " Example One:\n" + " description: Example One\n" + " Example Two:\n" + " description: Example Two\n" + " Example Three:\n" + " description: Example Three\n" + " - in: query\n" + " schema:\n" + " type: string\n" + " examples:\n" + " Example Three:\n" + " description: Example Three\n" + " Example Two:\n" + " description: Example Two\n" + " Example One:\n" + " description: Example One\n" + " responses:\n" + " default:\n" + " description: default response\n" + " content:\n" + " '*/*': {}";
SerializationMatchers.assertEqualsToYamlExact(openAPI, yaml);
}
use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderTest method testGetTags.
@Test(description = "Get tags")
public void testGetTags() {
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(TagsResource.class);
Operation operation = openAPI.getPaths().get("/").getGet();
assertNotNull(operation);
assertEquals(6, operation.getTags().size());
assertEquals(operation.getTags().get(3), EXAMPLE_TAG);
assertEquals(operation.getTags().get(1), SECOND_TAG);
assertEquals(openAPI.getTags().get(1).getDescription(), "desc definition");
assertEquals(openAPI.getTags().get(2).getExternalDocs().getDescription(), "docs desc");
}
Aggregations