Search in sources :

Example 1 with TestObjectTicket2900

use of io.swagger.v3.core.resolving.resources.TestObjectTicket2900 in project swagger-core by swagger-api.

the class ComposedSchemaTest method readComposedSchema_ticket2900.

@Test(description = "read composed schem refs #2900")
public void readComposedSchema_ticket2900() {
    Json.mapper().addMixIn(TestObjectTicket2900.GsonJsonPrimitive.class, TestObjectTicket2900.GsonJsonPrimitiveMixIn.class);
    Map<String, Schema> schemas = ModelConverters.getInstance().readAll(TestObjectTicket2900.class);
    Schema model = schemas.get("SomeDTO");
    Assert.assertNotNull(model);
    Map<String, Schema> properties = model.getProperties();
    Assert.assertNotNull(properties.get("value"));
    Assert.assertEquals(properties.get("value").get$ref(), "#/components/schemas/MyJsonPrimitive");
    Assert.assertEquals(properties.get("valueWithMixIn").get$ref(), "#/components/schemas/GsonJsonPrimitive");
    model = schemas.get("MyJsonPrimitive");
    Assert.assertNotNull(model);
    Assert.assertTrue(((ComposedSchema) model).getOneOf().size() == 2);
    Assert.assertEquals(((ComposedSchema) model).getOneOf().get(0).getType(), "string");
    Assert.assertEquals(((ComposedSchema) model).getOneOf().get(1).getType(), "number");
    model = schemas.get("GsonJsonPrimitive");
    Assert.assertNotNull(model);
    Assert.assertTrue(((ComposedSchema) model).getOneOf().size() == 2);
    Assert.assertEquals(((ComposedSchema) model).getOneOf().get(0).getType(), "string");
    Assert.assertEquals(((ComposedSchema) model).getOneOf().get(1).getType(), "number");
    Assert.assertNull(model.getProperties());
}
Also used : Schema(io.swagger.v3.oas.models.media.Schema) ArraySchema(io.swagger.v3.oas.models.media.ArraySchema) ComposedSchema(io.swagger.v3.oas.models.media.ComposedSchema) TestObjectTicket2900(io.swagger.v3.core.resolving.resources.TestObjectTicket2900) Test(org.testng.annotations.Test)

Aggregations

TestObjectTicket2900 (io.swagger.v3.core.resolving.resources.TestObjectTicket2900)1 ArraySchema (io.swagger.v3.oas.models.media.ArraySchema)1 ComposedSchema (io.swagger.v3.oas.models.media.ComposedSchema)1 Schema (io.swagger.v3.oas.models.media.Schema)1 Test (org.testng.annotations.Test)1