Search in sources :

Example 56 with Reader

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

the class ReaderTest method testSingleExample.

@Test(description = "Single Example")
public void testSingleExample() {
    Reader reader = new Reader(new OpenAPI());
    OpenAPI openAPI = reader.read(SingleExampleResource.class);
    String yaml = "openapi: 3.0.1\n" + "paths:\n" + "  /test1:\n" + "    post:\n" + "      operationId: test1\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              $ref: '#/components/schemas/User'\n" + "            example:\n" + "              foo: foo\n" + "              bar: bar\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*': {}\n" + "  /test2:\n" + "    post:\n" + "      operationId: test2\n" + "      requestBody:\n" + "        content:\n" + "          application/json:\n" + "            schema:\n" + "              $ref: '#/components/schemas/User'\n" + "            example:\n" + "              foo: foo\n" + "              bar: bar\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            '*/*': {}\n" + "components:\n" + "  schemas:\n" + "    User:\n" + "      type: object\n" + "      properties:\n" + "        id:\n" + "          type: integer\n" + "          format: int64\n" + "        username:\n" + "          type: string\n" + "        firstName:\n" + "          type: string\n" + "        lastName:\n" + "          type: string\n" + "        email:\n" + "          type: string\n" + "        password:\n" + "          type: string\n" + "        phone:\n" + "          type: string\n" + "        userStatus:\n" + "          type: integer\n" + "          description: User Status\n" + "          format: int32\n" + "      xml:\n" + "        name: User\n";
    SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
}
Also used : OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 57 with Reader

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

the class ReaderTest method testTicket3074.

@Test(description = "Filter class return type")
public void testTicket3074() {
    Reader reader = new Reader(new OpenAPI());
    OpenAPI oasResult = reader.read(RefParameter3074Resource.class);
    SerializationMatchers.assertEqualsToYaml(oasResult, RefParameter3074Resource.EXPECTED_YAML_WITH_WRAPPER);
    ModelConverters.getInstance().addClassToSkip("io.swagger.v3.jaxrs2.resources.RefParameter3074Resource$Wrapper");
    reader = new Reader(new OpenAPI());
    oasResult = reader.read(RefParameter3074Resource.class);
    SerializationMatchers.assertEqualsToYaml(oasResult, RefParameter3074Resource.EXPECTED_YAML_WITHOUT_WRAPPER);
}
Also used : RefParameter3074Resource(io.swagger.v3.jaxrs2.resources.RefParameter3074Resource) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 58 with Reader

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

the class ReaderTest method testRequestBodyEncoding.

@Test
public void testRequestBodyEncoding() {
    Reader reader = new Reader(new OpenAPI());
    OpenAPI openAPI = reader.read(UrlEncodedResourceWithEncodings.class);
    String yaml = "openapi: 3.0.1\n" + "paths:\n" + "  /things/search:\n" + "    post:\n" + "      operationId: searchForThings\n" + "      requestBody:\n" + "        content:\n" + "          application/x-www-form-urlencoded:\n" + "            schema:\n" + "              type: object\n" + "              properties:\n" + "                id:\n" + "                  type: array\n" + "                  description: id param\n" + "                  items:\n" + "                    type: string\n" + "                name:\n" + "                  type: array\n" + "                  items:\n" + "                    type: string\n" + "            encoding:\n" + "              id:\n" + "                style: form\n" + "                explode: true\n" + "              name:\n" + "                style: form\n" + "                explode: false\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            application/json: {}\n" + "  /things/sriracha:\n" + "    post:\n" + "      operationId: srirachaThing\n" + "      requestBody:\n" + "        content:\n" + "          application/x-www-form-urlencoded:\n" + "            schema:\n" + "              type: object\n" + "              properties:\n" + "                id:\n" + "                  type: array\n" + "                  description: id param\n" + "                  items:\n" + "                    type: string\n" + "                name:\n" + "                  type: array\n" + "                  items:\n" + "                    type: string\n" + "            encoding:\n" + "              id:\n" + "                style: form\n" + "                explode: true\n" + "              name:\n" + "                style: form\n" + "                explode: false\n" + "      responses:\n" + "        default:\n" + "          description: default response\n" + "          content:\n" + "            application/json: {}\n";
    SerializationMatchers.assertEqualsToYaml(openAPI, yaml);
}
Also used : OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 59 with Reader

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

the class ReaderTest method testDeprecatedMethod.

@Test(description = "Deprecated Method")
public void testDeprecatedMethod() {
    Reader reader = new Reader(new OpenAPI());
    Method[] methods = DeprecatedFieldsResource.class.getMethods();
    Operation deprecatedOperation = reader.parseMethod(methods[0], null, null);
    assertNotNull(deprecatedOperation);
    assertTrue(deprecatedOperation.getDeprecated());
}
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 60 with Reader

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

the class ReaderTest method testTicket2793.

/*
    TODO: in a scenario like the one in ticket 2793, currently no NPE is thrown
    but map is still not supported. When solved, update expected yaml in test case accordingly
     */
@Test(description = "no NPE resolving map")
public void testTicket2793() {
    Reader reader = new Reader(new OpenAPI());
    OpenAPI openAPI = reader.read(Ticket2793Resource.class);
    String yaml = "openapi: 3.0.1\n" + "paths:\n" + "  /distances:\n" + "    get:\n" + "      operationId: getDistances\n" + "      responses:\n" + "        \"200\":\n" + "          content:\n" + "            application/json:\n" + "              schema:\n" + "                $ref: '#/components/schemas/DistancesResponse'\n" + "components:\n" + "  schemas:\n" + "    DistancesResponse:\n" + "      type: object\n" + "      properties:\n" + "        empty:\n" + "          type: boolean\n";
    SerializationMatchers.assertEqualsToYaml(openAPI, 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