Search in sources :

Example 6 with Discriminator

use of io.swagger.v3.oas.models.media.Discriminator in project swagger-parser by swagger-api.

the class V2ConverterTest method testIssue27.

@Test(description = "500 Error Models with discriminator")
public void testIssue27() throws Exception {
    OpenAPI oas = getConvertedOpenAPIFromJsonFile(ISSUE_27_JSON);
    assertEquals(REQUIRED_SIZE, oas.getComponents().getSchemas().get(PET_SCHEMA).getRequired().size());
}
Also used : OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 7 with Discriminator

use of io.swagger.v3.oas.models.media.Discriminator in project swagger-parser by swagger-api.

the class OpenAPIV3ParserTest method testDiscriminatorSameFileExternalMapping.

@Test
public void testDiscriminatorSameFileExternalMapping() throws Exception {
    OpenAPI openAPI = new OpenAPIV3Parser().read("./discriminator-mapping-resolution/main-external-mapping.yaml");
    Assert.assertNotNull(openAPI);
    Schema cat = openAPI.getComponents().getSchemas().get("Cat");
    Assert.assertNotNull(cat);
}
Also used : ComposedSchema(io.swagger.v3.oas.models.media.ComposedSchema) ByteArraySchema(io.swagger.v3.oas.models.media.ByteArraySchema) IntegerSchema(io.swagger.v3.oas.models.media.IntegerSchema) StringSchema(io.swagger.v3.oas.models.media.StringSchema) ObjectSchema(io.swagger.v3.oas.models.media.ObjectSchema) ArraySchema(io.swagger.v3.oas.models.media.ArraySchema) Schema(io.swagger.v3.oas.models.media.Schema) MapSchema(io.swagger.v3.oas.models.media.MapSchema) OpenAPIV3Parser(io.swagger.v3.parser.OpenAPIV3Parser) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 8 with Discriminator

use of io.swagger.v3.oas.models.media.Discriminator in project swagger-parser by swagger-api.

the class OpenAPIV3ParserTest method testDiscriminatorSeparateFilePlainMapping.

@Test
public void testDiscriminatorSeparateFilePlainMapping() throws Exception {
    OpenAPI openAPI = new OpenAPIV3Parser().read("./discriminator-mapping-resolution/main-plain-mapping.yaml");
    Assert.assertNotNull(openAPI);
    Schema cat = openAPI.getComponents().getSchemas().get("Cat");
    Assert.assertNotNull(cat);
}
Also used : ComposedSchema(io.swagger.v3.oas.models.media.ComposedSchema) ByteArraySchema(io.swagger.v3.oas.models.media.ByteArraySchema) IntegerSchema(io.swagger.v3.oas.models.media.IntegerSchema) StringSchema(io.swagger.v3.oas.models.media.StringSchema) ObjectSchema(io.swagger.v3.oas.models.media.ObjectSchema) ArraySchema(io.swagger.v3.oas.models.media.ArraySchema) Schema(io.swagger.v3.oas.models.media.Schema) MapSchema(io.swagger.v3.oas.models.media.MapSchema) OpenAPIV3Parser(io.swagger.v3.parser.OpenAPIV3Parser) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 9 with Discriminator

use of io.swagger.v3.oas.models.media.Discriminator in project swagger-parser by swagger-api.

the class OpenAPIV3ParserTest method testDiscriminatorSeparateFileNoMapping.

@Test
public void testDiscriminatorSeparateFileNoMapping() throws Exception {
    OpenAPI openAPI = new OpenAPIV3Parser().read("./discriminator-mapping-resolution/main-no-mapping.yaml");
    Assert.assertNotNull(openAPI);
    Schema cat = openAPI.getComponents().getSchemas().get("Cat");
    // FIXME, issue #970 still exists in this form
    Assert.assertNull(cat);
}
Also used : ComposedSchema(io.swagger.v3.oas.models.media.ComposedSchema) ByteArraySchema(io.swagger.v3.oas.models.media.ByteArraySchema) IntegerSchema(io.swagger.v3.oas.models.media.IntegerSchema) StringSchema(io.swagger.v3.oas.models.media.StringSchema) ObjectSchema(io.swagger.v3.oas.models.media.ObjectSchema) ArraySchema(io.swagger.v3.oas.models.media.ArraySchema) Schema(io.swagger.v3.oas.models.media.Schema) MapSchema(io.swagger.v3.oas.models.media.MapSchema) OpenAPIV3Parser(io.swagger.v3.parser.OpenAPIV3Parser) OpenAPI(io.swagger.v3.oas.models.OpenAPI) Test(org.testng.annotations.Test)

Example 10 with Discriminator

use of io.swagger.v3.oas.models.media.Discriminator in project swagger-core by swagger-api.

the class Ticket3063Test method testTicket3063.

@Test
public void testTicket3063() throws Exception {
    final Schema model = context.resolve(new AnnotatedType(BaseClass.class));
    assertNotNull(model);
    String yaml = "BaseClass:\n" + "  required:\n" + "  - type\n" + "  type: object\n" + "  properties:\n" + "    type:\n" + "      type: string\n" + "      description: Type\n" + "      example: AndroidDeviceRequirements\n" + "  description: test\n" + "  discriminator:\n" + "    propertyName: type\n" + "SubClass:\n" + "  required:\n" + "  - type\n" + "  type: object\n" + "  description: SubClass\n" + "  allOf:\n" + "  - $ref: '#/components/schemas/BaseClass'\n" + "  - type: object\n" + "    properties:\n" + "      additionalPropertyWhichShouldBeThere:\n" + "        type: integer\n" + "        description: Test\n" + "        format: int32";
    SerializationMatchers.assertEqualsToYaml(context.getDefinedModels(), yaml);
}
Also used : AnnotatedType(io.swagger.v3.core.converter.AnnotatedType) Schema(io.swagger.v3.oas.models.media.Schema) BeforeTest(org.testng.annotations.BeforeTest) Test(org.testng.annotations.Test)

Aggregations

Schema (io.swagger.v3.oas.models.media.Schema)19 Test (org.testng.annotations.Test)19 ArraySchema (io.swagger.v3.oas.models.media.ArraySchema)15 ComposedSchema (io.swagger.v3.oas.models.media.ComposedSchema)15 ObjectSchema (io.swagger.v3.oas.models.media.ObjectSchema)15 MapSchema (io.swagger.v3.oas.models.media.MapSchema)14 StringSchema (io.swagger.v3.oas.models.media.StringSchema)14 IntegerSchema (io.swagger.v3.oas.models.media.IntegerSchema)13 OpenAPIV3Parser (io.swagger.v3.parser.OpenAPIV3Parser)13 ByteArraySchema (io.swagger.v3.oas.models.media.ByteArraySchema)12 OpenAPI (io.swagger.v3.oas.models.OpenAPI)11 AnnotatedType (io.swagger.v3.core.converter.AnnotatedType)6 SwaggerParseResult (io.swagger.v3.parser.core.models.SwaggerParseResult)6 Discriminator (io.swagger.v3.oas.models.media.Discriminator)5 DateSchema (io.swagger.v3.oas.models.media.DateSchema)4 DateTimeSchema (io.swagger.v3.oas.models.media.DateTimeSchema)4 BinarySchema (io.swagger.v3.oas.models.media.BinarySchema)3 HashSet (java.util.HashSet)3 JsonTypeInfo (com.fasterxml.jackson.annotation.JsonTypeInfo)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2