Search in sources :

Example 41 with Reader

use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.

the class ReaderTest method testTicket3694.

@Test(description = "overridden generic resource methods")
public void testTicket3694() {
    Reader reader = new Reader(new OpenAPI());
    OpenAPI openAPI = reader.read(Ticket3694ResourceExtendedType.class);
    String yaml = "openapi: 3.0.1\n" + "paths:\n" + "  /foo:\n" + "    post:\n" + "      tags:\n" + "      - Foo\n" + "      summary: Foo List in Interface\n" + "      operationId: foo\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              type: array\n" + "              items:\n" + "                type: string\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*': {}\n" + "  /bar:\n" + "    post:\n" + "      operationId: bar\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              type: array\n" + "              items:\n" + "                type: string\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*':\n" + "              schema:\n" + "                type: string\n" + "  /another:\n" + "    post:\n" + "      operationId: another\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              type: string\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*': {}";
    SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
    reader = new Reader(new OpenAPI());
    openAPI = reader.read(Ticket3694Resource.class);
    yaml = "openapi: 3.0.1\n" + "paths:\n" + "  /foo:\n" + "    post:\n" + "      tags:\n" + "      - Foo\n" + "      summary: Foo List in Interface\n" + "      operationId: foo\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              type: array\n" + "              items:\n" + "                type: string\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*': {}\n" + "  /bar:\n" + "    post:\n" + "      operationId: bar\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              type: array\n" + "              items:\n" + "                type: string\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*':\n" + "              schema:\n" + "                type: string\n" + "  /another:\n" + "    post:\n" + "      operationId: another\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              type: string\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*': {}";
    SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
    reader = new Reader(new OpenAPI());
    openAPI = reader.read(Ticket3694ResourceSimple.class);
    yaml = "openapi: 3.0.1\n" + "paths:\n" + "  /bar:\n" + "    post:\n" + "      operationId: bar\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              type: array\n" + "              items:\n" + "                type: string\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*':\n" + "              schema:\n" + "                type: string";
    SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
    reader = new Reader(new OpenAPI());
    openAPI = reader.read(Ticket3694ResourceSimpleSameReturn.class);
    yaml = "openapi: 3.0.1\n" + "paths:\n" + "  /bar:\n" + "    post:\n" + "      operationId: bar\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              type: array\n" + "              items:\n" + "                type: string\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*': {}";
    SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
}
Also used : Ticket3694Resource(io.swagger.v3.jaxrs2.resources.generics.ticket3694.Ticket3694Resource) Ticket3694ResourceSimple(io.swagger.v3.jaxrs2.resources.generics.ticket3694.Ticket3694ResourceSimple) Ticket3694ResourceSimpleSameReturn(io.swagger.v3.jaxrs2.resources.generics.ticket3694.Ticket3694ResourceSimpleSameReturn) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 42 with Reader

use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.

the class ReaderTest method testGetSummaryAndDescription.

@Test(description = "Get a Summary and Description")
public void testGetSummaryAndDescription() {
    Reader reader = new Reader(new OpenAPI());
    Method[] methods = BasicFieldsResource.class.getMethods();
    Operation operation = reader.parseMethod(methods[0], null, null);
    assertNotNull(operation);
    assertEquals(OPERATION_SUMMARY, operation.getSummary());
    assertEquals(OPERATION_DESCRIPTION, operation.getDescription());
}
Also used : Method(java.lang.reflect.Method) Operation(io.swagger.v3.oas.models.Operation) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 43 with Reader

use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.

the class ReaderTest method testGetExternalDocs.

@Test(description = "External Docs")
public void testGetExternalDocs() {
    Reader reader = new Reader(new OpenAPI());
    OpenAPI openAPI = reader.read(ExternalDocsReference.class);
    Operation externalDocsOperation = openAPI.getPaths().get("/").getGet();
    ExternalDocumentation externalDocs = externalDocsOperation.getExternalDocs();
    assertEquals(externalDocs.getDescription(), "External documentation description in method");
    assertEquals(externalDocs.getUrl(), EXTERNAL_DOCS_URL);
    externalDocs = openAPI.getComponents().getSchemas().get("ExternalDocsSchema").getExternalDocs();
    assertEquals("External documentation description in schema", externalDocs.getDescription());
    assertEquals(externalDocs.getUrl(), EXTERNAL_DOCS_URL);
}
Also used : ExternalDocumentation(io.swagger.v3.oas.models.ExternalDocumentation) Operation(io.swagger.v3.oas.models.Operation) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 44 with Reader

use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.

the class ReaderTest method testMoreResponses.

@Test(description = "More Responses")
public void testMoreResponses() {
    Reader reader = new Reader(new OpenAPI());
    OpenAPI openAPI = reader.read(EnhancedResponsesResource.class);
    String yaml = "openapi: 3.0.1\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" + "        \"404\":\n" + "          description: not found!\n" + "        \"400\":\n" + "          description: boo\n" + "          content:\n" + "            '*/*':\n" + "              schema:\n" + "                $ref: '#/components/schemas/GenericError'\n" + "      deprecated: true\n" + "components:\n" + "  schemas:\n" + "    GenericError:\n" + "      type: object\n" + "    SampleResponseSchema:\n" + "      type: object\n";
    SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
}
Also used : OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 45 with Reader

use of io.swagger.v3.jaxrs2.Reader in project swagger-core by swagger-api.

the class EnumTest method testEnum.

@Test(description = "Test enum")
public void testEnum() throws IOException {
    Reader reader = new Reader(new OpenAPI());
    OpenAPI openAPI = reader.read(EnumParameterResource.class);
    SerializationMatchers.assertEqualsToYaml(openAPI, EXPECTED_YAML);
}
Also used : OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Aggregations

OpenAPI (io.swagger.v3.oas.models.OpenAPI)85 Test (org.testng.annotations.Test)81 Operation (io.swagger.v3.oas.models.Operation)24 PathItem (io.swagger.v3.oas.models.PathItem)17 Info (io.swagger.v3.oas.models.info.Info)17 Components (io.swagger.v3.oas.models.Components)15 Paths (io.swagger.v3.oas.models.Paths)15 Reader (io.swagger.v3.jaxrs2.Reader)11 IntegerSchema (io.swagger.v3.oas.models.media.IntegerSchema)9 ArraySchema (io.swagger.v3.oas.models.media.ArraySchema)8 Schema (io.swagger.v3.oas.models.media.Schema)8 Parameter (io.swagger.v3.oas.models.parameters.Parameter)7 Method (java.lang.reflect.Method)7 SwaggerConfiguration (io.swagger.v3.oas.integration.SwaggerConfiguration)5 AbstractSpecFilter (io.swagger.v3.core.filter.AbstractSpecFilter)4 OpenAPISpecFilter (io.swagger.v3.core.filter.OpenAPISpecFilter)4 SpecFilter (io.swagger.v3.core.filter.SpecFilter)4 AbstractAnnotationTest (io.swagger.v3.jaxrs2.annotations.AbstractAnnotationTest)4 GenericOpenApiContext (io.swagger.v3.oas.integration.GenericOpenApiContext)4 OpenApiContext (io.swagger.v3.oas.integration.api.OpenApiContext)4