use of io.swagger.v3.oas.models.media.StringSchema in project swagger-core by swagger-api.
the class EnumPropertyTest method testExtractEnumFields.
@Test(description = "it should extract enum values from fields")
public void testExtractEnumFields() {
final Map<String, Schema> models = ModelConverters.getInstance().read(ModelWithEnumField.class);
final Schema model = models.get("ModelWithEnumField");
final Schema enumProperty = (Schema) model.getProperties().get("enumValue");
assertTrue(enumProperty instanceof StringSchema);
final StringSchema stringProperty = (StringSchema) enumProperty;
assertEquals(stringProperty.getEnum(), Arrays.asList("PRIVATE", "PUBLIC", "SYSTEM", "INVITE_ONLY"));
}
use of io.swagger.v3.oas.models.media.StringSchema in project swagger-core by swagger-api.
the class ModelConverterTest method serializeParameterizedType.
@Test(description = "it should serialize a parameterized type per 606")
public void serializeParameterizedType() {
final Map<String, Schema> schemas = readAll(Employee.class);
final Schema employee = (Schema) schemas.get("employee").getProperties().get("employee");
final Map<String, Schema> props = employee.getProperties();
final Iterator<String> et = props.keySet().iterator();
final Schema id = props.get(et.next());
assertTrue(id instanceof IntegerSchema);
final Schema firstName = props.get(et.next());
assertTrue(firstName instanceof StringSchema);
final Schema lastName = props.get(et.next());
assertTrue(lastName instanceof StringSchema);
final Schema department = props.get(et.next());
assertNotNull(department.get$ref());
final Schema manager = props.get(et.next());
assertNotNull(manager.get$ref());
final Schema team = props.get(et.next());
assertTrue(team instanceof ArraySchema);
final ArraySchema ap = (ArraySchema) team;
assertTrue(ap.getUniqueItems());
assertNotNull(employee.getXml());
assertEquals(employee.getXml().getName(), "employee");
}
use of io.swagger.v3.oas.models.media.StringSchema in project swagger-core by swagger-api.
the class ObjectPropertyTest method readModelWithObjectProperty.
@Test(description = "convert a model with object properties")
public void readModelWithObjectProperty() throws IOException {
String json = "{" + " \"properties\":{" + " \"id\":{" + " \"type\":\"string\"" + " }," + " \"someObject\":{" + " \"type\":\"object\"," + " \"x-foo\": \"vendor x\"," + " \"properties\":{" + " \"innerId\":{" + " \"type\":\"string\"" + " }" + " }" + " }" + " }" + "}";
Schema model = Json.mapper().readValue(json, Schema.class);
Schema p = (Schema) model.getProperties().get("someObject");
assertTrue(p instanceof ObjectSchema);
ObjectSchema op = (ObjectSchema) p;
Schema sp = op.getProperties().get("innerId");
assertTrue(sp instanceof StringSchema);
assertTrue(op.getExtensions() != null);
assertNotNull(op.getExtensions().get("x-foo"));
assertEquals(op.getExtensions().get("x-foo"), "vendor x");
}
use of io.swagger.v3.oas.models.media.StringSchema in project swagger-core by swagger-api.
the class SwaggerSerializerTest method convertSpec.
@Test(description = "it should convert a spec")
public void convertSpec() throws IOException {
final Schema personModel = ModelConverters.getInstance().read(Person.class).get("Person");
final Schema errorModel = ModelConverters.getInstance().read(Error.class).get("Error");
final Info info = new Info().version("1.0.0").title("Swagger Petstore");
final Contact contact = new Contact().name("Swagger API Team").email("foo@bar.baz").url("http://swagger.io");
info.setContact(contact);
final Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "value");
info.addExtension("x-test2", map);
info.addExtension("x-test", "value");
final OpenAPI swagger = new OpenAPI().info(info).addServersItem(new Server().url("http://petstore.swagger.io")).schema("Person", personModel).schema("Error", errorModel);
final Operation get = new Operation().summary("finds pets in the system").description("a longer description").addTagsItem("Pet Operations").operationId("get pet by id").deprecated(true);
get.addParametersItem(new Parameter().in("query").name("tags").description("tags to filter by").required(false).schema(new StringSchema()));
get.addParametersItem(new Parameter().in("path").name("petId").description("pet to fetch").schema(new IntegerSchema().format("int64")));
final ApiResponse response = new ApiResponse().description("pets returned").content(new Content().addMediaType("application/json", new MediaType().schema(new Schema().$ref("Person")).example("fun")));
final ApiResponse errorResponse = new ApiResponse().description("error response").addLink("myLink", new Link().description("a link").operationId("theLinkedOperationId").addParameter("userId", "gah")).content(new Content().addMediaType("application/json", new MediaType().schema(new Schema().$ref("Error"))));
get.responses(new ApiResponses().addApiResponse("200", response).addApiResponse("default", errorResponse));
final Operation post = new Operation().summary("adds a new pet").description("you can add a new pet this way").addTagsItem("Pet Operations").operationId("add pet").responses(new ApiResponses().addApiResponse("default", errorResponse)).requestBody(new RequestBody().description("the pet to add").content(new Content().addMediaType("*/*", new MediaType().schema(new Schema().$ref("Person")))));
swagger.paths(new Paths().addPathItem("/pets", new PathItem().get(get).post(post)));
final String swaggerJson = Json.mapper().writeValueAsString(swagger);
Json.prettyPrint(swagger);
final OpenAPI rebuilt = Json.mapper().readValue(swaggerJson, OpenAPI.class);
SerializationMatchers.assertEqualsToJson(rebuilt, swaggerJson);
}
use of io.swagger.v3.oas.models.media.StringSchema in project swagger-core by swagger-api.
the class JsonPropertiesDeserializationTest method testDeserializeConstrainedStringProperty.
@Test(description = "should deserialize a string property with constraints")
public void testDeserializeConstrainedStringProperty() throws Exception {
OpenAPI oas = TestUtils.deserializeJsonFileFromClasspath("specFiles/propertiesWithConstraints.json", OpenAPI.class);
StringSchema property = (StringSchema) oas.getComponents().getSchemas().get("Health").getProperties().get("string_with_constraints");
assertEquals(property.getMinLength(), Integer.valueOf(10));
assertEquals(property.getMaxLength(), Integer.valueOf(100));
assertEquals(property.getPattern(), "apattern");
}
Aggregations