Ticket4760Test.java
package io.swagger.v3.core.resolving;
import io.swagger.v3.core.converter.ModelConverters;
import io.swagger.v3.core.matchers.SerializationMatchers;
import io.swagger.v3.oas.models.media.Schema;
import org.testng.annotations.Test;
import javax.validation.constraints.Size;
import java.util.List;
import java.util.Map;
public class Ticket4760Test {
@Test
public void testArraySchemaItemsValidation(){
final Map<String, Schema> stringSchemaMap = ModelConverters.getInstance().readAll(ClassWithArraySchemaItemsValidation.class);
final String expectedJson = "{\n" +
" \"ClassWithArraySchemaItemsValidation\" : {\n" +
" \"type\" : \"object\",\n" +
" \"properties\" : {\n" +
" \"setOfEnums\" : {\n" +
" \"maxItems\" : 3,\n" +
" \"minItems\" : 1,\n" +
" \"type\" : \"array\",\n" +
" \"items\" : {\n" +
" \"type\" : \"string\",\n" +
" \"enum\" : [ \"green\", \"blue\" ]\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
"}";
SerializationMatchers.assertEqualsToJson(stringSchemaMap, expectedJson);
}
private static class ClassWithArraySchemaItemsValidation{
public enum MyEnum {
red,
green
}
public enum MyOtherEnum {
green,
blue
}
@io.swagger.v3.oas.annotations.media.ArraySchema(schema = @io.swagger.v3.oas.annotations.media.Schema(implementation = MyOtherEnum.class))
@Size(min = 1, max = 3)
private List<MyEnum> setOfEnums;
public List<MyEnum> getSetOfEnums() {
return setOfEnums;
}
public void setSetOfEnums(List<MyEnum> setOfEnums) {
this.setOfEnums = setOfEnums;
}
}
}