Search in sources :

Example 66 with Schema

use of io.swagger.v3.oas.annotations.media.Schema in project swagger-core by swagger-api.

the class ModelWithRangesTest method modelWithRangesTest.

@Test(description = "test model with @ApiModelProperty.allowableValues")
public void modelWithRangesTest() {
    final Map<String, Schema> properties = ModelConverters.getInstance().read(ModelWithRanges.class).get("ModelWithRanges").getProperties();
    final IntegerSchema inclusiveRange = (IntegerSchema) properties.get("inclusiveRange");
    assertEquals(inclusiveRange.getMinimum(), new BigDecimal(1));
    assertEquals(inclusiveRange.getMaximum(), new BigDecimal(5));
    assertNull(inclusiveRange.getExclusiveMaximum());
    assertNull(inclusiveRange.getExclusiveMinimum());
    final IntegerSchema exclusiveRange = (IntegerSchema) properties.get("exclusiveRange");
    assertEquals(exclusiveRange.getMinimum(), new BigDecimal(1));
    assertEquals(exclusiveRange.getMaximum(), new BigDecimal(5));
    assertEquals(exclusiveRange.getExclusiveMinimum(), Boolean.TRUE);
    assertEquals(exclusiveRange.getExclusiveMaximum(), Boolean.TRUE);
    final IntegerSchema positiveInfinityRange = (IntegerSchema) properties.get("positiveInfinityRange");
    assertEquals(positiveInfinityRange.getMinimum(), new BigDecimal(1.0));
    assertNull(positiveInfinityRange.getMaximum());
    assertNull(positiveInfinityRange.getExclusiveMaximum());
    assertNull(positiveInfinityRange.getExclusiveMinimum());
    final IntegerSchema negativeInfinityRange = (IntegerSchema) properties.get("negativeInfinityRange");
    assertNull(negativeInfinityRange.getMinimum());
    assertEquals(negativeInfinityRange.getMaximum(), new BigDecimal(5.0));
    assertNull(negativeInfinityRange.getExclusiveMaximum());
    assertNull(negativeInfinityRange.getExclusiveMinimum());
    final StringSchema stringValues = (StringSchema) properties.get("stringValues");
    assertEquals(stringValues.getEnum(), Arrays.asList("str1", "str2"));
    final NumberSchema doubleValues = (NumberSchema) properties.get("doubleValues");
    assertEquals(doubleValues.getMinimum(), new BigDecimal("1.0"));
    assertEquals(doubleValues.getMaximum(), new BigDecimal("8.0"));
    assertEquals(doubleValues.getExclusiveMaximum(), Boolean.TRUE);
    assertNull(doubleValues.getExclusiveMinimum());
    final IntegerSchema intAllowableValues = (IntegerSchema) properties.get("intAllowableValues");
    assertEquals(intAllowableValues.getEnum(), Arrays.asList(1, 2));
    final IntegerSchema intAllowableValuesWithNull = (IntegerSchema) properties.get("intAllowableValuesWithNull");
    assertEquals(intAllowableValuesWithNull.getEnum(), Arrays.asList(1, 2, null));
}
Also used : StringSchema(io.swagger.v3.oas.models.media.StringSchema) NumberSchema(io.swagger.v3.oas.models.media.NumberSchema) Schema(io.swagger.v3.oas.models.media.Schema) IntegerSchema(io.swagger.v3.oas.models.media.IntegerSchema) IntegerSchema(io.swagger.v3.oas.models.media.IntegerSchema) StringSchema(io.swagger.v3.oas.models.media.StringSchema) NumberSchema(io.swagger.v3.oas.models.media.NumberSchema) BigDecimal(java.math.BigDecimal) Test(org.testng.annotations.Test)

Example 67 with Schema

use of io.swagger.v3.oas.annotations.media.Schema in project swagger-core by swagger-api.

the class SimpleGenerationTest method testComplex.

@Test
public void testComplex() throws Exception {
    final Schema model = context.resolve(new AnnotatedType(ComplexBean.class));
    assertNotNull(model);
    final Map<String, Schema> props = model.getProperties();
    assertEquals(props.size(), 6);
}
Also used : AnnotatedType(io.swagger.v3.core.converter.AnnotatedType) Schema(io.swagger.v3.oas.models.media.Schema) Test(org.testng.annotations.Test)

Example 68 with Schema

use of io.swagger.v3.oas.annotations.media.Schema in project swagger-core by swagger-api.

the class SimpleGenerationTest method testIntArray.

@Test
public void testIntArray() throws Exception {
    final Schema model = context.resolve(new AnnotatedType(IntArrayBean.class));
    final Map<String, Schema> props = model.getProperties();
    assertEquals(props.size(), 1);
    String key = props.keySet().iterator().next();
    final Schema prop = props.get(key);
    assertEquals(key, "b");
    assertEquals(prop.getType(), "array");
}
Also used : AnnotatedType(io.swagger.v3.core.converter.AnnotatedType) Schema(io.swagger.v3.oas.models.media.Schema) Test(org.testng.annotations.Test)

Example 69 with Schema

use of io.swagger.v3.oas.annotations.media.Schema in project swagger-core by swagger-api.

the class SimpleGenerationTest method testJsonValue_Ticket3409.

@Test
public void testJsonValue_Ticket3409() throws Exception {
    DeserializationFeature aa = DeserializationFeature.valueOf("FAIL_ON_UNKNOWN_PROPERTIES");
    Map<String, Schema> models = ModelConverters.getInstance().readAll(PlanetName.Planet.class);
    assertNotNull(models.get("Planet"));
    if (isJacksonAtLeast2_9()) {
        assertNull(models.get("PlanetName"));
        assertEquals(((Schema) models.get("Planet").getProperties().get("name")).getType(), "string");
    }
}
Also used : DeserializationFeature(com.fasterxml.jackson.databind.DeserializationFeature) Schema(io.swagger.v3.oas.models.media.Schema) Test(org.testng.annotations.Test)

Example 70 with Schema

use of io.swagger.v3.oas.annotations.media.Schema in project swagger-core by swagger-api.

the class Ticket2915Test method testPropertyName.

@Test
public void testPropertyName() throws Exception {
    final ModelResolver modelResolver = new ModelResolver(mapper());
    final ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver);
    final Schema model = context.resolve(new AnnotatedType(TestObject2915.class));
    SerializationMatchers.assertEqualsToYaml(context.getDefinedModels(), "QuantitativeValue:\n" + "  required:\n" + "  - value\n" + "  type: object\n" + "  properties:\n" + "    value:\n" + "      type: number\n" + "      format: double\n" + "    unitText:\n" + "      type: string\n" + "    unitCode:\n" + "      type: string\n" + "  description: A combination of a value and associated unit\n" + "TestObject2616:\n" + "  type: object\n" + "  properties:\n" + "    name:\n" + "      type: string\n" + "    perServing:\n" + "      $ref: '#/components/schemas/QuantitativeValue'\n" + "    per100Gram:\n" + "      $ref: '#/components/schemas/QuantitativeValue'\n" + "  description: Nutritional value specification");
}
Also used : AnnotatedType(io.swagger.v3.core.converter.AnnotatedType) TestObject2915(io.swagger.v3.core.resolving.resources.TestObject2915) 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)

Aggregations

Test (org.testng.annotations.Test)257 Schema (io.swagger.v3.oas.models.media.Schema)234 ArraySchema (io.swagger.v3.oas.models.media.ArraySchema)141 StringSchema (io.swagger.v3.oas.models.media.StringSchema)126 IntegerSchema (io.swagger.v3.oas.models.media.IntegerSchema)112 OpenAPI (io.swagger.v3.oas.models.OpenAPI)68 NumberSchema (io.swagger.v3.oas.models.media.NumberSchema)65 MapSchema (io.swagger.v3.oas.models.media.MapSchema)62 ObjectSchema (io.swagger.v3.oas.models.media.ObjectSchema)60 AnnotatedType (io.swagger.v3.core.converter.AnnotatedType)58 ComposedSchema (io.swagger.v3.oas.models.media.ComposedSchema)51 DateTimeSchema (io.swagger.v3.oas.models.media.DateTimeSchema)47 Operation (io.swagger.v3.oas.annotations.Operation)44 DateSchema (io.swagger.v3.oas.models.media.DateSchema)44 ApiResponses (io.swagger.v3.oas.annotations.responses.ApiResponses)42 ProtectedApi (org.gluu.oxtrust.service.filter.ProtectedApi)42 Parameter (io.swagger.v3.oas.models.parameters.Parameter)33 BooleanSchema (io.swagger.v3.oas.models.media.BooleanSchema)32 ModelConverterContextImpl (io.swagger.v3.core.converter.ModelConverterContextImpl)25 Components (io.swagger.v3.oas.models.Components)23