use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class AbstractAnnotationTest method readIntoYaml.
public String readIntoYaml(final Class<?> cls) {
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(cls);
try {
Yaml.mapper().setSerializationInclusion(JsonInclude.Include.NON_NULL);
// parse JSON
JsonNode jsonNodeTree = Yaml.mapper().readTree(Yaml.mapper().writeValueAsString(openAPI));
// return it as YAML
return Yaml.mapper().writeValueAsString(jsonNodeTree);
} catch (Exception e) {
return "Empty YAML";
}
}
use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderListenerTest method testReaderListener.
@Test(description = "test a readerListener resource")
public void testReaderListener() throws Exception {
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(Collections.singleton(ReaderListenerResource.class));
assertNotNull(openAPI);
assertEquals(openAPI.getTags().get(0).getName(), "Tag-added-before-read");
assertEquals(openAPI.getTags().get(1).getName(), "Tag-added-after-read");
}
use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderTest method testGetResponses.
@Test(description = "Responses")
public void testGetResponses() {
Reader reader = new Reader(new OpenAPI());
Method[] methods = ResponsesResource.class.getMethods();
Operation responseOperation = reader.parseMethod(Arrays.stream(methods).filter((method -> method.getName().equals("getResponses"))).findFirst().get(), null, null);
assertNotNull(responseOperation);
ApiResponses responses = responseOperation.getResponses();
assertEquals(RESPONSES_NUMBER, responses.size());
ApiResponse apiResponse = responses.get(RESPONSE_CODE_200);
assertNotNull(apiResponse);
assertEquals(RESPONSE_DESCRIPTION, apiResponse.getDescription());
}
use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderTest method testResourceWithSubresources.
@Test(description = "test resource with subresources")
public void testResourceWithSubresources() {
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(ResourceWithSubResource.class);
Paths paths = openAPI.getPaths();
assertEquals(paths.size(), 3);
PathItem pathItem = paths.get("/employees/{id}");
assertNotNull(pathItem);
Operation operation = pathItem.getGet();
assertNotNull(operation);
ArraySchema arraySchema = (ArraySchema) operation.getResponses().get("200").getContent().values().iterator().next().getSchema();
assertNotNull(arraySchema);
assertEquals(arraySchema.getItems().get$ref(), "#/components/schemas/Pet");
pathItem = paths.get("/employees/{id}/{id}");
assertNotNull(pathItem);
operation = pathItem.getGet();
assertNotNull(operation);
Schema schema = operation.getResponses().get("200").getContent().values().iterator().next().getSchema();
assertNotNull(schema);
assertEquals(schema.get$ref(), "#/components/schemas/Pet");
pathItem = paths.get("/employees/noPath");
assertNotNull(pathItem);
operation = pathItem.getGet();
assertNotNull(operation);
schema = operation.getResponses().getDefault().getContent().values().iterator().next().getSchema();
assertNotNull(schema);
assertEquals(schema.getType(), "string");
}
use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.
the class ReaderTest method testClassWithGenericType.
@Test
public void testClassWithGenericType() {
Reader reader = new Reader(new OpenAPI());
OpenAPI openAPI = reader.read(ClassWithGenericType.class);
assertNotNull(openAPI);
assertNotNull(openAPI.getComponents().getSchemas().get("IssueTemplateRet"));
assertNotNull(openAPI.getComponents().getSchemas().get("B"));
assertNotNull(openAPI.getComponents().getSchemas().get("B").getProperties().get("test"));
assertEquals(((Schema) openAPI.getComponents().getSchemas().get("B").getProperties().get("test")).get$ref(), "#/components/schemas/IssueTemplateRet");
// Yaml.prettyPrint(openAPI);
}
Aggregations