From e37f5a4315b0faaf9f5cab4bf547771e49457328 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Mon, 6 Nov 2017 23:21:07 -0500 Subject: [PATCH 1/3] Handle untyped properties Ref https://github.com/swagger-api/swagger-codegen/issues/6896 --- .../parser/util/SwaggerDeserializerTest.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/modules/swagger-parser/src/test/java/io/swagger/parser/util/SwaggerDeserializerTest.java b/modules/swagger-parser/src/test/java/io/swagger/parser/util/SwaggerDeserializerTest.java index a91a0ee68a..e142566c2c 100644 --- a/modules/swagger-parser/src/test/java/io/swagger/parser/util/SwaggerDeserializerTest.java +++ b/modules/swagger-parser/src/test/java/io/swagger/parser/util/SwaggerDeserializerTest.java @@ -1419,4 +1419,39 @@ public void testIssue360() { Swagger rebuilt = result.getSwagger(); assertNotNull(rebuilt); } + + @Test(description = "it should deserialize untyped additionalProperties") + public void testUntypedAdditionalProperties() { + String json = "{\n" + + " \"paths\": {\n" + + " \"/store/inventory\": {\n" + + " \"get\": {\n" + + " \"responses\": {\n" + + " \"200\": {\n" + + " \"description\": \"successful operation\",\n" + + " \"schema\": {\n" + + " \"type\": \"object\",\n" + + " \"description\": \"map of anything\",\n" + + " \"additionalProperties\": {}\n" + + " }\n" + + " }\n" + + " }\n" + + " }\n" + + " }\n" + + " }\n" + + "}"; + + SwaggerParser parser = new SwaggerParser(); + + SwaggerDeserializationResult result = parser.readWithInfo(json); + List messageList = result.getMessages(); + Set messages = new HashSet(messageList); + Swagger swagger = result.getSwagger(); + + Property response = swagger.getPath("/store/inventory").getGet().getResponses().get("200").getSchema(); + assertTrue(response instanceof MapProperty); + Property additionalProperties = ((MapProperty) response).getAdditionalProperties(); + assertTrue(additionalProperties instanceof UntypedProperty); + assertEquals(additionalProperties.getType(), null); + } } From ee35a2d0a9b5d7c382ef0a2588f72865a0478484 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Mon, 6 Nov 2017 23:23:29 -0500 Subject: [PATCH 2/3] FIXME: Pull in swagger-core changes via local maven repository --- pom.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pom.xml b/pom.xml index 547f80c111..aae7a5e291 100644 --- a/pom.xml +++ b/pom.xml @@ -197,6 +197,11 @@ swagger-core ${swagger-core-version} + + io.swagger + swagger-models + ${swagger-core-version} + org.testng testng @@ -243,4 +248,16 @@ 2.4.1 2.18.1 + + + local-repo + file:///gen/local-repo + + true + + + true + + + From fbf704268a95d53f3f0f96d0d56d2f27d8d3d332 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Tue, 13 Feb 2018 20:28:40 -0500 Subject: [PATCH 3/3] Remove local maven repository Upstream changes were included in swagger-core 1.5.18. --- pom.xml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pom.xml b/pom.xml index aae7a5e291..6cf20c59c7 100644 --- a/pom.xml +++ b/pom.xml @@ -248,16 +248,4 @@ 2.4.1 2.18.1 - - - local-repo - file:///gen/local-repo - - true - - - true - - -