Search in sources :

Example 16 with AnnotatedType

use of io.swagger.v3.core.converter.AnnotatedType in project swagger-core by swagger-api.

the class Ticket3624Test method testSelfReferencingOptional.

@Test
public void testSelfReferencingOptional() throws Exception {
    final ModelResolver modelResolver = new ModelResolver(mapper());
    ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver);
    Schema model = context.resolve(new AnnotatedType(ModelContainer.class));
    Yaml.prettyPrint(context.getDefinedModels());
    SerializationMatchers.assertEqualsToYaml(context.getDefinedModels(), "Model:\n" + "  type: object\n" + "  properties:\n" + "    model:\n" + "      $ref: '#/components/schemas/Model'\n" + "ModelContainer:\n" + "  type: object\n" + "  properties:\n" + "    model:\n" + "      $ref: '#/components/schemas/Model'\n");
}
Also used : AnnotatedType(io.swagger.v3.core.converter.AnnotatedType) Schema(io.swagger.v3.oas.models.media.Schema) ModelConverterContextImpl(io.swagger.v3.core.converter.ModelConverterContextImpl) ModelResolver(io.swagger.v3.core.jackson.ModelResolver) Test(org.testng.annotations.Test)

Example 17 with AnnotatedType

use of io.swagger.v3.core.converter.AnnotatedType in project swagger-core by swagger-api.

the class Ticket3703Test method testSelfReferencingOptional.

@Test
public void testSelfReferencingOptional() throws Exception {
    final ModelResolver modelResolver = new ModelResolver(mapper());
    ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver);
    Schema model = context.resolve(new AnnotatedType(ModelContainer.class));
    SerializationMatchers.assertEqualsToYaml(context.getDefinedModels(), "Model:\n" + "  type: object\n" + "  properties:\n" + "    model:\n" + "      $ref: '#/components/schemas/Model'\n" + "ModelContainer:\n" + "  type: object\n" + "  properties:\n" + "    model:\n" + "      $ref: '#/components/schemas/Model'\n" + "    bytes:\n" + "      type: string\n" + "      format: byte");
}
Also used : AnnotatedType(io.swagger.v3.core.converter.AnnotatedType) Schema(io.swagger.v3.oas.models.media.Schema) ModelConverterContextImpl(io.swagger.v3.core.converter.ModelConverterContextImpl) ModelResolver(io.swagger.v3.core.jackson.ModelResolver) Test(org.testng.annotations.Test)

Example 18 with AnnotatedType

use of io.swagger.v3.core.converter.AnnotatedType in project swagger-core by swagger-api.

the class Ticket3030Test method testTicket3030.

@Test
public void testTicket3030() throws Exception {
    final Schema model = context.resolve(new AnnotatedType(Child.class));
    assertNotNull(model);
    String yaml = "Child:\n" + "  type: object\n" + "  allOf:\n" + "  - $ref: '#/components/schemas/Parent'\n" + "  - type: object\n" + "    properties:\n" + "      property:\n" + "        type: string\n" + "Parent:\n" + "  type: object\n" + "  properties:\n" + "    sharedProperty:\n" + "      type: string";
    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)

Example 19 with AnnotatedType

use of io.swagger.v3.core.converter.AnnotatedType in project swagger-core by swagger-api.

the class Ticket3197Test method testTicket3197AsSibling.

@Test
public void testTicket3197AsSibling() throws Exception {
    ModelResolver.composedModelPropertiesAsSibling = true;
    ModelResolver myModelResolver = new ModelResolver(new ObjectMapper());
    ModelResolver.composedModelPropertiesAsSibling = true;
    ModelConverterContextImpl myContext = new ModelConverterContextImpl(myModelResolver);
    final Schema model = myContext.resolve(new AnnotatedType(Car.class));
    assertNotNull(model);
    String yaml = "Car:\n" + "  required:\n" + "  - type\n" + "  type: object\n" + "  properties:\n" + "    carMetaData:\n" + "      type: string\n" + "    type:\n" + "      type: string\n" + "  discriminator:\n" + "    propertyName: type\n" + "    mapping:\n" + "      RaceCar: '#/components/schemas/RaceCar'\n" + "      SportCar: '#/components/schemas/SportCar'\n" + "  oneOf:\n" + "  - $ref: '#/components/schemas/RaceCar'\n" + "  - $ref: '#/components/schemas/SportCar'\n" + "RaceCar:\n" + "  required:\n" + "  - carMetaData\n" + "  - id\n" + "  type: object\n" + "  properties:\n" + "    id:\n" + "      type: integer\n" + "      format: int64\n" + "    model:\n" + "      type: string\n" + "  allOf:\n" + "  - $ref: '#/components/schemas/Car'\n" + "SportCar:\n" + "  required:\n" + "  - id\n" + "  type: object\n" + "  properties:\n" + "    id:\n" + "      type: integer\n" + "      format: int64\n" + "    model:\n" + "      type: string\n" + "  allOf:\n" + "  - $ref: '#/components/schemas/Car'\n";
    SerializationMatchers.assertEqualsToYaml(myContext.getDefinedModels(), yaml);
    ModelResolver.composedModelPropertiesAsSibling = false;
}
Also used : AnnotatedType(io.swagger.v3.core.converter.AnnotatedType) Schema(io.swagger.v3.oas.models.media.Schema) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) ModelConverterContextImpl(io.swagger.v3.core.converter.ModelConverterContextImpl) ModelResolver(io.swagger.v3.core.jackson.ModelResolver) Test(org.testng.annotations.Test) AfterTest(org.testng.annotations.AfterTest)

Example 20 with AnnotatedType

use of io.swagger.v3.core.converter.AnnotatedType in project swagger-core by swagger-api.

the class Ticket3697Test method testHiddenJsonCreator.

@Test
public void testHiddenJsonCreator() throws Exception {
    final ModelResolver modelResolver = new ModelResolver(mapper());
    ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver);
    Schema model = context.resolve(new AnnotatedType(TestObject3697.class));
    SerializationMatchers.assertEqualsToYaml(context.getDefinedModels(), "TestObject3697:\n" + "  type: object\n" + "  properties:\n" + "    id:\n" + "      type: integer\n" + "      format: int64");
}
Also used : AnnotatedType(io.swagger.v3.core.converter.AnnotatedType) Schema(io.swagger.v3.oas.models.media.Schema) TestObject3697(io.swagger.v3.core.resolving.resources.TestObject3697) ModelConverterContextImpl(io.swagger.v3.core.converter.ModelConverterContextImpl) ModelResolver(io.swagger.v3.core.jackson.ModelResolver) Test(org.testng.annotations.Test)

Aggregations

Schema (io.swagger.v3.oas.models.media.Schema)60 AnnotatedType (io.swagger.v3.core.converter.AnnotatedType)57 Test (org.testng.annotations.Test)47 ModelConverterContextImpl (io.swagger.v3.core.converter.ModelConverterContextImpl)25 ModelResolver (io.swagger.v3.core.jackson.ModelResolver)21 ArraySchema (io.swagger.v3.oas.models.media.ArraySchema)14 ComposedSchema (io.swagger.v3.oas.models.media.ComposedSchema)13 AfterTest (org.testng.annotations.AfterTest)13 StringSchema (io.swagger.v3.oas.models.media.StringSchema)11 ModelConverter (io.swagger.v3.core.converter.ModelConverter)6 IntegerSchema (io.swagger.v3.oas.models.media.IntegerSchema)6 ObjectSchema (io.swagger.v3.oas.models.media.ObjectSchema)6 Annotation (java.lang.annotation.Annotation)6 LinkedHashMap (java.util.LinkedHashMap)5 Map (java.util.Map)5 JavaType (com.fasterxml.jackson.databind.JavaType)4 MapSchema (io.swagger.v3.oas.models.media.MapSchema)4 NumberSchema (io.swagger.v3.oas.models.media.NumberSchema)4 UUIDSchema (io.swagger.v3.oas.models.media.UUIDSchema)4 ArrayList (java.util.ArrayList)4