diff --git a/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java b/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java index 3eb1f5a7f9..45beb36935 100644 --- a/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java +++ b/modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java @@ -963,7 +963,7 @@ private Schema convert(Property schema) { FileSchema fileSchema = Json.mapper().convertValue(schema, FileSchema.class); result = fileSchema; - }else { + } else { result = Json.mapper().convertValue(schema, Schema.class); result.setExample(schema.getExample()); diff --git a/modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java b/modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java index da1d632148..76f0aebf77 100644 --- a/modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java +++ b/modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java @@ -96,6 +96,7 @@ public class V2ConverterTest { private static final String ISSUE_1113_YAML = "issue-1113.yaml"; private static final String ISSUE_1164_YAML = "issue-1164.yaml"; private static final String ISSUE_1261_YAML = "issue-1261.yaml"; + private static final String ISSUE_1369_YAML = "issue-1369.yaml"; private static final String API_BATCH_PATH = "/api/batch/"; private static final String PETS_PATH = "/pets"; @@ -852,6 +853,29 @@ public void testissue1261() throws Exception { } + @Test(description = "OpenAPI v2 converter - verifies the additionalProperties") + public void testissue1369() throws Exception { + OpenAPI oas = getConvertedOpenAPIFromJsonFile(ISSUE_1369_YAML); + assertNotNull(oas); + Schema schema = (Schema) oas.getComponents().getSchemas().get("Foo1"); + assertNotNull(schema); + assertNull(schema.getAdditionalProperties()); + + schema = (Schema) oas.getComponents().getSchemas().get("Foo2"); + assertNotNull(schema); + assertNotNull(schema.getAdditionalProperties()); + assertEquals(schema.getAdditionalProperties(), Boolean.TRUE); + + schema = (Schema) oas.getComponents().getSchemas().get("Foo3"); + assertNotNull(schema); + assertNotNull(schema.getAdditionalProperties()); + assertEquals(schema.getAdditionalProperties(), Boolean.FALSE); + + schema = (Schema) oas.getComponents().getSchemas().get("Foo4"); + assertNotNull(schema); + assertNotNull(schema.getAdditionalProperties()); + } + @Test() public void testInlineDefinitionProperty() throws Exception { SwaggerConverter converter = new SwaggerConverter(); diff --git a/modules/swagger-parser-v2-converter/src/test/resources/issue-1369.yaml b/modules/swagger-parser-v2-converter/src/test/resources/issue-1369.yaml new file mode 100644 index 0000000000..56225905bd --- /dev/null +++ b/modules/swagger-parser-v2-converter/src/test/resources/issue-1369.yaml @@ -0,0 +1,31 @@ +swagger: '2.0' +info: + title: additionalProperties test + version: '1.0.0' +paths: {} + +definitions: + Foo1: + type: object + properties: + bar: + type: string + Foo2: + type: object + properties: + foo: + type: string + additionalProperties: false + Foo3: + type: object + properties: + foo: + type: string + additionalProperties: true + Foo4: + type: object + properties: + bar: + type: string + additionalProperties: + type: string