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));
}
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);
}
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");
}
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");
}
}
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");
}
Aggregations