Java Code Examples for io.swagger.v3.oas.models.media.Schema#addProperties()
The following examples show how to use
io.swagger.v3.oas.models.media.Schema#addProperties() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 6 votes |
@Test public void testBasicInput() { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema user = new Schema(); user.addProperties("name", new StringSchema()); openAPI.path("/foo/baz", new PathItem() .post(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*",new MediaType().schema(new Schema().$ref("User"))))))); openAPI.getComponents().addSchemas("User", user); new InlineModelResolver().flatten(openAPI); }
Example 2
Source File: ExampleBuilderTest.java From swagger-inflector with Apache License 2.0 | 6 votes |
@Test public void testRecursiveModel() throws Exception { Schema person = new Schema(); Schema property1 = new IntegerSchema().name("age").example(42); Schema property2 = new Schema().$ref("Person").name("spouse"); person.addProperties("age", property1); person.addProperties("spouse", property2); Map<String, Schema> definitions = new HashMap<>(); definitions.put("Person", person); Example rep = (Example) ExampleBuilder.fromSchema(new Schema().$ref("Person"), definitions); assertEqualsIgnoreLineEnding(Json.pretty(rep), "{\n \"age\" : 42\n}"); String xmlString = new XmlExampleSerializer().serialize(rep); assertEqualsIgnoreLineEnding(xmlString, "<?xml version='1.1' encoding='UTF-8'?><Person><age>42</age></Person>"); }
Example 3
Source File: ExampleBuilderTest.java From swagger-inflector with Apache License 2.0 | 6 votes |
@Test public void testIssue133() throws Exception { IntegerSchema integerSchema = new IntegerSchema(); integerSchema.setFormat("int64"); integerSchema.setExample(new Long(4321)); Schema model = new Schema(); model.addProperties("int64",integerSchema); Map<String, Schema> definitions = new HashMap<>(); definitions.put("Address", model); Example rep = ExampleBuilder.fromSchema(new Schema().$ref("Address"), definitions); assertEqualsIgnoreLineEnding(Json.pretty(rep), "{\n" + " \"int64\" : 4321\n" + "}"); }
Example 4
Source File: ExampleBuilderTest.java From swagger-inflector with Apache License 2.0 | 6 votes |
@Test public void testIssue127() throws Exception { IntegerSchema integerProperty = new IntegerSchema(); integerProperty.setFormat(null); integerProperty.setExample(new Long(4321)); Schema model = new Schema(); model.addProperties("unboundedInteger",integerProperty); Map<String, Schema> definitions = new HashMap<>(); definitions.put("Address", model); Example rep = ExampleBuilder.fromSchema(new Schema().$ref("Address"), definitions); Json.prettyPrint(rep); assertEqualsIgnoreLineEnding(Json.pretty(rep), "{\n" + " \"unboundedInteger\" : 4321\n" + "}"); }
Example 5
Source File: ExampleBuilderTest.java From swagger-inflector with Apache License 2.0 | 6 votes |
public void testInvalidExample(Schema property, String invalidValue, Object defaultValue, Object sampleValue ) throws Exception { property.setExample( invalidValue); Schema model = new Schema(); model.addProperties("test", property); Map<String, Schema> definitions = new HashMap<>(); definitions.put("Test", model); // validate that the internal default value is returned if an invalid value is set ObjectExample rep = (ObjectExample) ExampleBuilder.fromSchema(new Schema().$ref("Test"), definitions); AbstractExample example = (AbstractExample) rep.get( "test" ); System.out.println(example); assertEquals( example.asString(), String.valueOf(defaultValue) ); // validate that a specified default value is returned if an invalid value is set if( sampleValue != null ) { property.setDefault(String.valueOf(sampleValue)); rep = (ObjectExample) ExampleBuilder.fromSchema(new Schema().$ref("Test"), definitions); example = (AbstractExample) rep.get("test"); assertEquals(String.valueOf(sampleValue), example.asString()); } }
Example 6
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void resolveInlineModelTestWithTitle() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setTitle("UserAddressTitle"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); Schema schema = new Schema(); schema.setName("user"); schema.setDescription("a common user"); List<String> required = new ArrayList<>(); required.add("address"); schema.setRequired(required); schema.addProperties("name", new StringSchema()); schema.addProperties("address", objectSchema); openAPI.getComponents().addSchemas("User", schema); new InlineModelResolver().flatten(openAPI); Schema user = openAPI.getComponents().getSchemas().get("User"); assertNotNull(user); Schema address = (Schema)user.getProperties().get("address"); assertTrue( address.get$ref() != null); Schema userAddressTitle = openAPI.getComponents().getSchemas().get("UserAddressTitle"); assertNotNull(userAddressTitle); assertNotNull(userAddressTitle.getProperties().get("city")); assertNotNull(userAddressTitle.getProperties().get("street")); }
Example 7
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void testArbitraryObjectModelInline() { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema userSchema = new Schema(); userSchema.setName("user"); userSchema.setDescription("a common user"); userSchema.addProperties("name", new StringSchema()); ObjectSchema objectSchema = new ObjectSchema(); objectSchema.setTitle("title"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); userSchema.addProperties("arbitrary", objectSchema); List required = new ArrayList(); required.add("arbitrary"); userSchema.setRequired(required); openAPI.getComponents().addSchemas("User", userSchema); new InlineModelResolver().flatten(openAPI); Schema user = openAPI.getComponents().getSchemas().get("User"); assertNotNull(user); Schema inlineProp = (Schema) user.getProperties().get("arbitrary"); assertTrue(inlineProp instanceof ObjectSchema); assertNull(inlineProp.getProperties()); }
Example 8
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void testArbitraryObjectModelWithArrayInlineWithTitle() { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema items = new ObjectSchema(); items.setTitle("InnerUserTitle"); items.setDefault("default"); items.setReadOnly(false); items.setDescription("description"); items.setName("name"); items.addProperties("arbitrary", new ObjectSchema()); openAPI.getComponents().addSchemas("User", new ArraySchema().items(items).addRequiredItem("name")); new InlineModelResolver().flatten(openAPI); Schema model = openAPI.getComponents().getSchemas().get("User"); assertTrue(model instanceof ArraySchema); ArraySchema am = (ArraySchema) model; Schema inner = am.getItems(); assertTrue(inner.get$ref() != null); Schema userInner = openAPI.getComponents().getSchemas().get("InnerUserTitle"); assertNotNull(userInner); Schema inlineProp = (Schema) userInner.getProperties().get("arbitrary"); assertTrue(inlineProp instanceof ObjectSchema); ObjectSchema op = (ObjectSchema) inlineProp; assertNull(op.getProperties()); }
Example 9
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void resolveInlineArrayModelWithTitle() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setTitle("InnerUserTitle"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); ArraySchema arraySchema = new ArraySchema(); List<String> required = new LinkedList<>(); required.add("name"); arraySchema.setRequired(required); arraySchema.setItems(objectSchema); openAPI.getComponents().addSchemas("User", arraySchema); new InlineModelResolver().flatten(openAPI); Schema model = openAPI.getComponents().getSchemas().get("User"); assertTrue(model instanceof ArraySchema); Schema user = openAPI.getComponents().getSchemas().get("InnerUserTitle"); assertNotNull(user); assertEquals("description", user.getDescription()); }
Example 10
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void resolveInlineModelTestWithoutTitle() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); Schema schema = new Schema(); schema.setName("user"); schema.setDescription("a common user"); List<String> required = new ArrayList<>(); required.add("address"); schema.setRequired(required); schema.addProperties("name", new StringSchema()); schema.addProperties("address", objectSchema); openAPI.getComponents().addSchemas("User", schema); new InlineModelResolver().flatten(openAPI); Schema user = openAPI.getComponents().getSchemas().get("User"); assertNotNull(user); Schema address = (Schema)user.getProperties().get("address"); assertTrue((address.get$ref()!= null)); Schema userAddress = openAPI.getComponents().getSchemas().get("User_address"); assertNotNull(userAddress); assertNotNull(userAddress.getProperties().get("city")); assertNotNull(userAddress.getProperties().get("street")); }
Example 11
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 5 votes |
@Test public void testArbitraryObjectModelWithArrayInlineWithoutTitle() { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema items = new ObjectSchema(); items.setDefault("default"); items.setReadOnly(false); items.setDescription("description"); items.setName("name"); items.addProperties("arbitrary", new ObjectSchema()); openAPI.getComponents().addSchemas("User", new ArraySchema().items(items).addRequiredItem("name")); new InlineModelResolver().flatten(openAPI); Schema model = openAPI.getComponents().getSchemas().get("User"); assertTrue(model instanceof ArraySchema); ArraySchema am = (ArraySchema) model; Schema inner = am.getItems(); assertTrue(inner.get$ref() != null); Schema userInner = openAPI.getComponents().getSchemas().get("User_inner"); assertNotNull(userInner); Schema inlineProp = (Schema)userInner.getProperties().get("arbitrary"); assertTrue(inlineProp instanceof ObjectSchema); ObjectSchema op = (ObjectSchema) inlineProp; assertNull(op.getProperties()); }
Example 12
Source File: ExampleBuilderTest.java From swagger-inflector with Apache License 2.0 | 5 votes |
@Test public void testComplexArray() throws Exception { Map<String, Schema> definitions = new HashMap<>(); Schema address = new Schema() .xml(new XML().name("address")); Schema propertyDefinition1 = new StringSchema(); propertyDefinition1.setName("street"); propertyDefinition1.setExample("12345 El Monte Blvd"); Schema propertyDefinition2 = new StringSchema(); propertyDefinition2.setName("city"); propertyDefinition2.setExample("Los Altos Hills"); Schema propertyDefinition3 = new StringSchema(); propertyDefinition3.setName("state"); propertyDefinition3.setExample("CA"); propertyDefinition3.setMinLength(2); propertyDefinition3.setMaxLength(2); Schema propertyDefinition4 = new StringSchema(); propertyDefinition4.setName("zip"); propertyDefinition4.setExample("94022"); address.addProperties("street",propertyDefinition1); address.addProperties("city",propertyDefinition2); address.addProperties("state",propertyDefinition3); address.addProperties("zip",propertyDefinition4); definitions.put("Address", address); Example rep = (Example) ExampleBuilder.fromSchema(new ArraySchema().$ref("Address"), definitions); String json = Json.pretty(rep); assertEqualsIgnoreLineEnding(json,"{\n \"street\" : \"12345 El Monte Blvd\",\n \"city\" : \"Los Altos Hills\",\n \"state\" : \"CA\",\n \"zip\" : \"94022\"\n}"); }
Example 13
Source File: ExampleBuilderTest.java From swagger-inflector with Apache License 2.0 | 4 votes |
@Test public void testXmlJackson() throws Exception { Schema model = new Schema() .xml(new XML() .name("user")); Schema property1 = new StringSchema(); property1.setName("username"); property1.setExample("fehguy"); property1.setXml(new XML() .name("userName")); ArraySchema property2 = new ArraySchema(); property2.setName("addresses"); property2.setXml(new XML().wrapped(true)); property2.setItems(new Schema().$ref("Address")); Schema property3 = new Schema(); property3.setName("managers"); property3.setAdditionalProperties(new StringSchema().example("SVP Engineering")); ArraySchema property4 = new ArraySchema(); property4.setName("kidsAges"); property4.setItems(new IntegerSchema().example(9)); model.addProperties("username",property1); model.addProperties("addresses",property2); model.addProperties("managers",property3); model.addProperties("kidsAges",property4); Map<String, Schema> definitions = new HashMap<>(); definitions.put("User", model); Schema address = new Schema() .xml(new XML().name("address")); Schema propertyDefinition1 = new StringSchema(); propertyDefinition1.setName("street"); propertyDefinition1.setExample("12345 El Monte Blvd"); Schema propertyDefinition2 = new StringSchema(); propertyDefinition2.setName("city"); propertyDefinition2.setExample("Los Altos Hills"); Schema propertyDefinition3 = new StringSchema(); propertyDefinition3.setName("state"); propertyDefinition3.setExample("CA"); propertyDefinition3.setMinLength(2); propertyDefinition3.setMaxLength(2); Schema propertyDefinition4 = new StringSchema(); propertyDefinition4.setName("zip"); propertyDefinition4.setExample("94022"); address.addProperties("street",propertyDefinition1); address.addProperties("city",propertyDefinition2); address.addProperties("state",propertyDefinition3); address.addProperties("zip",propertyDefinition4); definitions.put("Address", address); Example rep = ExampleBuilder.fromSchema(new Schema().$ref("User"), definitions); String xmlString = new XmlExampleSerializer().serialize(rep); assertEqualsIgnoreLineEnding(xmlString, "<?xml version='1.1' encoding='UTF-8'?><user><userName>fehguy</userName><addressess><address><street>12345 El Monte Blvd</street><city>Los Altos Hills</city><state>CA</state><zip>94022</zip></address></addressess><managers><additionalProp1>SVP Engineering</additionalProp1><additionalProp2>SVP Engineering</additionalProp2><additionalProp3>SVP Engineering</additionalProp3></managers><kidsAges>9</kidsAges></user>"); assertEqualsIgnoreLineEnding(Yaml.pretty().writeValueAsString(rep),"username: fehguy\naddresses:\n- street: 12345 El Monte Blvd\n city: Los Altos Hills\n state: CA\n zip: \"94022\"\nmanagers:\n additionalProp1: SVP Engineering\n additionalProp2: SVP Engineering\n additionalProp3: SVP Engineering\nkidsAges:\n- 9\n"); }
Example 14
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void resolveInlineModel2EqualInnerModels() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setTitle("UserAddressTitle"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); Schema schema = new Schema(); schema.setName("user"); schema.setDescription("a common user"); List<String> required = new ArrayList<>(); required.add("address"); schema.setRequired(required); schema.addProperties("name", new StringSchema()); schema.addProperties("address", objectSchema); openAPI.getComponents().addSchemas("User", schema); Schema addressSchema = new ObjectSchema(); addressSchema.setTitle("UserAddressTitle"); addressSchema.setDefault("default"); addressSchema.setReadOnly(false); addressSchema.setDescription("description"); addressSchema.setName("name"); addressSchema.addProperties("street", new StringSchema()); addressSchema.addProperties("city", new StringSchema()); Schema anotherSchema = new Schema(); anotherSchema.setName("user"); anotherSchema.setDescription("a common user"); List<String> requiredFields = new ArrayList<>(); requiredFields.add("address"); anotherSchema.setRequired(requiredFields); anotherSchema.addProperties("name", new StringSchema()); anotherSchema.addProperties("lastName", new StringSchema()); anotherSchema.addProperties("address", addressSchema); openAPI.getComponents().addSchemas("AnotherUser", anotherSchema); new InlineModelResolver().flatten(openAPI); Schema user = openAPI.getComponents().getSchemas().get("User"); assertNotNull(user); Schema addressSchema1 = (Schema) user.getProperties().get("address"); assertTrue(addressSchema1.get$ref() != null); Schema address = openAPI.getComponents().getSchemas().get("UserAddressTitle"); assertNotNull(address); assertNotNull(address.getProperties().get("city")); assertNotNull(address.getProperties().get("street")); Schema duplicateAddress = openAPI.getComponents().getSchemas().get("UserAddressTitle_0"); assertNull(duplicateAddress); }
Example 15
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void resolveInlineModel2DifferentInnerModelsWIthSameTitle() throws Exception { OpenAPI openAPI = new OpenAPI(); openAPI.setComponents(new Components()); Schema objectSchema = new ObjectSchema(); objectSchema.setTitle("UserAddressTitle"); objectSchema.setDefault("default"); objectSchema.setReadOnly(false); objectSchema.setDescription("description"); objectSchema.setName("name"); objectSchema.addProperties("street", new StringSchema()); objectSchema.addProperties("city", new StringSchema()); Schema schema = new Schema(); schema.setName("user"); schema.setDescription("a common user"); List<String> required = new ArrayList<>(); required.add("address"); schema.setRequired(required); schema.addProperties("name", new StringSchema()); schema.addProperties("address", objectSchema); openAPI.getComponents().addSchemas("User", schema); Schema addressSchema = new ObjectSchema(); addressSchema.setTitle("UserAddressTitle"); addressSchema.setDefault("default"); addressSchema.setReadOnly(false); addressSchema.setDescription("description"); addressSchema.setName("name"); addressSchema.addProperties("street", new StringSchema()); addressSchema.addProperties("city", new StringSchema()); addressSchema.addProperties("apartment", new StringSchema()); Schema anotherSchema = new Schema(); anotherSchema.setName("AnotherUser"); anotherSchema.setDescription("a common user"); List<String> requiredFields = new ArrayList<>(); requiredFields.add("address"); anotherSchema.setRequired(requiredFields); anotherSchema.addProperties("name", new StringSchema()); anotherSchema.addProperties("lastName", new StringSchema()); anotherSchema.addProperties("address", addressSchema); openAPI.getComponents().addSchemas("AnotherUser", anotherSchema); new InlineModelResolver().flatten(openAPI); Schema user = openAPI.getComponents().getSchemas().get("User"); assertNotNull(user); Schema userAddress = (Schema) user.getProperties().get("address"); assertTrue( userAddress.get$ref()!= null); Schema address = openAPI.getComponents().getSchemas().get("UserAddressTitle"); assertNotNull(address); assertNotNull(address.getProperties().get("city")); assertNotNull(address.getProperties().get("street")); Schema duplicateAddress = openAPI.getComponents().getSchemas().get("UserAddressTitle_1"); assertNotNull(duplicateAddress); assertNotNull(duplicateAddress.getProperties().get("city")); assertNotNull(duplicateAddress.getProperties().get("street")); assertNotNull(duplicateAddress.getProperties().get("apartment")); }
Example 16
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void testSkipInlineMatchesFalse() { final OpenAPI openAPI = new OpenAPI(); final InlineModelResolver inlineModelResolver = new InlineModelResolver(); final Schema operationAlphaInAsset = new ObjectSchema(); operationAlphaInAsset.setTitle("operationAlphaInAsset"); operationAlphaInAsset.addProperties("id1", new IntegerSchema()); operationAlphaInAsset.addProperties("id2", new IntegerSchema()); final Schema operationAlphaIn = new ObjectSchema(); operationAlphaIn.setTitle("operationAlphaIn"); operationAlphaIn.addProperties("asset", operationAlphaInAsset); final Schema operationAlphaRequest = new ObjectSchema(); operationAlphaRequest.setTitle("operationAlphaRequest"); operationAlphaRequest.addProperties("in", operationAlphaIn); final Schema operationBetaInAsset = new ObjectSchema(); operationBetaInAsset.setTitle("operationBetaInAsset"); operationBetaInAsset.addProperties("id1", new IntegerSchema()); operationBetaInAsset.addProperties("id2", new IntegerSchema()); final Schema operationBetaIn = new ObjectSchema(); operationBetaIn.setTitle("operationBetaIn"); operationBetaIn.addProperties("asset", operationBetaInAsset); final Schema operationBetaRequest = new ObjectSchema(); operationBetaRequest.setTitle("operationBetaRequest"); operationBetaRequest.addProperties("in", operationBetaIn); openAPI.path("/operationAlpha", new PathItem() .get(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*", new MediaType() .schema(operationAlphaRequest)))))); openAPI.path("/operationBeta", new PathItem() .get(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*", new MediaType() .schema(operationBetaRequest)))))); inlineModelResolver.flatten(openAPI); assertNotNull(openAPI); assertNotNull(openAPI.getComponents()); assertNotNull(openAPI.getComponents().getSchemas()); assertEquals(4, openAPI.getComponents().getSchemas().size()); }
Example 17
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void testSkipInlineMatchesTrue() { final OpenAPI openAPI = new OpenAPI(); final InlineModelResolver inlineModelResolver = new InlineModelResolver(false, false, true); final Schema operationAlphaInAsset = new ObjectSchema(); operationAlphaInAsset.setTitle("operationAlphaInAsset"); operationAlphaInAsset.addProperties("id1", new IntegerSchema()); operationAlphaInAsset.addProperties("id2", new IntegerSchema()); final Schema operationAlphaIn = new ObjectSchema(); operationAlphaIn.setTitle("operationAlphaIn"); operationAlphaIn.addProperties("asset", operationAlphaInAsset); final Schema operationAlphaRequest = new ObjectSchema(); operationAlphaRequest.setTitle("operationAlphaRequest"); operationAlphaRequest.addProperties("in", operationAlphaIn); final Schema operationBetaInAsset = new ObjectSchema(); operationBetaInAsset.setTitle("operationBetaInAsset"); operationBetaInAsset.addProperties("id1", new IntegerSchema()); operationBetaInAsset.addProperties("id2", new IntegerSchema()); final Schema operationBetaIn = new ObjectSchema(); operationBetaIn.setTitle("operationBetaIn"); operationBetaIn.addProperties("asset", operationBetaInAsset); final Schema operationBetaRequest = new ObjectSchema(); operationBetaRequest.setTitle("operationBetaRequest"); operationBetaRequest.addProperties("in", operationBetaIn); openAPI.path("/operationAlpha", new PathItem() .get(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*", new MediaType() .schema(operationAlphaRequest)))))); openAPI.path("/operationBeta", new PathItem() .get(new Operation() .requestBody(new RequestBody() .content(new Content().addMediaType("*/*", new MediaType() .schema(operationBetaRequest)))))); inlineModelResolver.flatten(openAPI); assertNotNull(openAPI); assertNotNull(openAPI.getComponents()); assertNotNull(openAPI.getComponents().getSchemas()); assertEquals(6, openAPI.getComponents().getSchemas().size()); }
Example 18
Source File: SchemaProcessorTest.java From swagger-parser with Apache License 2.0 | 4 votes |
@Test public void testProcessSchema() throws Exception { Schema property1 = new Schema(); Schema property2 = new Schema(); SchemaProcessor propertyProcessor = new SchemaProcessor(cache,openAPI); Schema model = new Schema(); model.addProperties("foo", property1); model.addProperties("bar", property2); propertyProcessor.processSchema(property1); propertyProcessor.processSchema(property2); new SchemaProcessor(cache, openAPI).processSchema(model); assertEquals(model.getProperties().get("foo"), property1); assertEquals(model.getProperties().get("bar"), property2); }
Example 19
Source File: ExampleBuilderTest.java From swagger-inflector with Apache License 2.0 | 4 votes |
@Test public void testComplexArrayWithExample() throws Exception { Map<String, Schema> definitions = new HashMap<>(); Schema address = new Schema() .example("{\"foo\":\"bar\"}") .xml(new XML() .name("address")); Schema propertyDefinition1 = new StringSchema(); propertyDefinition1.setName("street"); propertyDefinition1.setExample("12345 El Monte Blvd"); Schema propertyDefinition2 = new StringSchema(); propertyDefinition2.setName("city"); propertyDefinition2.setExample("Los Altos Hills"); Schema propertyDefinition3 = new StringSchema(); propertyDefinition3.setName("state"); propertyDefinition3.setExample("CA"); propertyDefinition3.setMinLength(2); propertyDefinition3.setMaxLength(2); Schema propertyDefinition4 = new StringSchema(); propertyDefinition4.setName("zip"); propertyDefinition4.setExample("94022"); address.addProperties("street",propertyDefinition1); address.addProperties("city",propertyDefinition2); address.addProperties("state",propertyDefinition3); address.addProperties("zip",propertyDefinition4); definitions.put("Address", address); // register the JSON serializer SimpleModule simpleModule = new SimpleModule(); simpleModule.addSerializer(new JsonNodeExampleSerializer()); simpleModule.addDeserializer(Example.class, new JsonExampleDeserializer()); Json.mapper().registerModule(simpleModule); Example rep = (Example) ExampleBuilder.fromSchema(new StringSchema().addEnumItem("hello").example("fun"), definitions); assertEqualsIgnoreLineEnding(Json.pretty(rep), "\"fun\""); }
Example 20
Source File: InlineModelResolverTest.java From swagger-parser with Apache License 2.0 | 3 votes |
@Test public void resolveInlineParameter() throws Exception { OpenAPI openAPI = new OpenAPI(); ObjectSchema objectSchema = new ObjectSchema(); objectSchema.addProperties("street", new StringSchema()); Schema schema = new Schema(); schema.addProperties("address", objectSchema); schema.addProperties("name", new StringSchema()); Parameter parameter = new Parameter(); parameter.setName("name"); parameter.setSchema(schema); List parameters = new ArrayList(); parameters.add(parameter); Operation operation = new Operation(); operation.setParameters(parameters); PathItem pathItem = new PathItem(); pathItem.setGet(operation); openAPI.path("/hello",pathItem); new InlineModelResolver().flatten(openAPI); Operation getOperation = openAPI.getPaths().get("/hello").getGet(); Parameter param = getOperation.getParameters().get(0); assertTrue(param.getSchema().get$ref() != null); Schema bodySchema = openAPI.getComponents().getSchemas().get("name"); assertTrue(bodySchema instanceof Schema); assertNotNull(bodySchema.getProperties().get("address")); }