use of io.swagger.v3.oas.models.media.IntegerSchema in project swagger-core by swagger-api.
the class SecurityDefinitionTest method createModelWithSecurityRequirements.
@Test(description = "it should create a model with security requirements")
public void createModelWithSecurityRequirements() 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 OpenAPI oas = new OpenAPI().info(info).addServersItem(new Server().url("http://petstore.swagger.io")).schema("Person", personModel).schema("Error", errorModel);
oas.schemaRequirement("githubAccessCode", new SecurityScheme().flows(new OAuthFlows().authorizationCode(new OAuthFlow().scopes(new Scopes().addString("user:email", "Grants read access to a user’s email addresses.")))));
final Operation get = new Operation().summary("finds pets in the system").description("a longer description").addTagsItem("Pet Operations").operationId("get pet by id");
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("*/*", new MediaType().schema(new Schema().$ref("Person"))));
final ApiResponse errorResponse = new ApiResponse().description("error response").content(new Content().addMediaType("*/*", new MediaType().schema(new Schema().$ref("Error"))));
get.responses(new ApiResponses().addApiResponse("200", response).addApiResponse("default", errorResponse)).addSecurityItem(new SecurityRequirement().addList("internal_oauth2", "user:email")).addSecurityItem(new SecurityRequirement().addList("api_key"));
oas.path("/pets", new PathItem().get(get));
final String json = ResourceUtils.loadClassResource(getClass(), "ModelWithSecurityRequirements.json");
SerializationMatchers.assertEqualsToJson(oas, json);
}
use of io.swagger.v3.oas.models.media.IntegerSchema in project swagger-core by swagger-api.
the class PropertySerializationTest method serializeLongMapProperty.
@Test(description = "it should serialize a long MapProperty")
public void serializeLongMapProperty() throws IOException {
final Schema p = new MapSchema().additionalProperties(new IntegerSchema().format("int64"));
final String json = "{\"type\":\"object\",\"additionalProperties\":{\"type\":\"integer\",\"format\":\"int64\"}}";
assertEquals(m.writeValueAsString(p), json);
}
use of io.swagger.v3.oas.models.media.IntegerSchema in project swagger-core by swagger-api.
the class ModelSerializerTest method testIssue2064Ip.
@Test
public void testIssue2064Ip() throws Exception {
String json = "{\n" + " \"type\": \"object\",\n" + " \"properties\": {\n" + " \"id\": {\n" + " \"type\": \"integer\",\n" + " \"format\": \"int32\",\n" + " \"multipleOf\": 3.0\n" + " }\n" + " }\n" + "}";
final Schema model = Json.mapper().readValue(json, Schema.class);
IntegerSchema ip = (IntegerSchema) model.getProperties().get("id");
assertEquals(ip.getMultipleOf(), new BigDecimal("3.0"));
}
use of io.swagger.v3.oas.models.media.IntegerSchema in project swagger-core by swagger-api.
the class ModelSerializerTest method integerEnumGeneration.
@Test(description = "it should generate an integer field with enum")
public void integerEnumGeneration() throws IOException {
final String json = "{\n" + " \"properties\":{\n" + " \"id\":{\n" + " \"description\":\"fun!\",\n" + " \"type\":\"integer\",\n" + " \"format\":\"int32\",\n" + " \"readOnly\":true,\n" + " \"enum\": [ 0, 1]\n" + " }\n" + " }\n" + "}";
final Schema model = Json.mapper().readValue(json, Schema.class);
IntegerSchema p = (IntegerSchema) model.getProperties().get("id");
assertNotNull(p.getEnum());
assertEquals(p.getEnum().get(0), new Integer(0));
assertEquals(p.getEnum().get(1), new Integer(1));
}
use of io.swagger.v3.oas.models.media.IntegerSchema in project swagger-core by swagger-api.
the class ParameterSerializationTest method testLongValue.
@Test(description = "should serialize long value")
public void testLongValue() {
final QueryParameter param = (QueryParameter) new QueryParameter().required(false);
Schema schema = new IntegerSchema().format("int64");
schema.setDefault("1234");
param.setSchema(schema);
final String json = "{" + " \"in\":\"query\"," + " \"required\":false," + " \"schema\":{" + " \"type\":\"integer\"," + " \"default\":1234," + " \"format\":\"int64\"" + " }" + "}";
SerializationMatchers.assertEqualsToJson(param, json);
}
Aggregations