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 eb8ed27942..219c47b516 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 @@ -71,6 +71,7 @@ public class V2ConverterTest { private static final String ISSUE_540_JSON = "issue-540.json"; private static final String ISSUE_647_JSON = "issue-647.yaml"; private static final String ISSUE_662_JSON = "issue-662.yaml"; + private static final String ISSUE_673_YAML = "issue-673.yaml"; private static final String ISSUE_676_JSON = "issue-676.json"; private static final String API_BATCH_PATH = "/api/batch/"; @@ -382,7 +383,7 @@ public void testIssue23() throws Exception { OpenAPI oas = getConvertedOpenAPIFromJsonFile(ISSUE_23_JSON); assertTrue(oas.getComponents().getSchemas().get(MAP_OBJECTS_MODEL).getAdditionalProperties() instanceof Schema); Schema additionalProperties = (Schema) oas.getComponents().getSchemas().get(MAP_OBJECTS_MODEL).getAdditionalProperties(); - assertEquals(OBJECT_REF,additionalProperties.get$ref()); + assertEquals(OBJECT_REF, additionalProperties.get$ref()); } @Test(description = "Covert path item $refs") @@ -575,6 +576,26 @@ public void testIssue676() throws Exception { assertEquals(anEnum.get(1), false); } + @Test(description = "OpenAPI v2 converter - Error in BodyParameter convertion") + public void testIssue673() throws Exception { + final OpenAPI oas = getConvertedOpenAPIFromJsonFile(ISSUE_673_YAML); + assertNotNull(oas); + Schema schema = oas.getPaths().get("/integer").getPost().getRequestBody().getContent().get("application/json").getSchema(); + assertNotNull(schema); + assertTrue(schema.getUniqueItems()); + assertTrue(schema.getExclusiveMaximum()); + assertTrue(schema.getExclusiveMinimum()); + assertEquals(3, schema.getMultipleOf().toBigInteger().intValue()); + assertEquals(new BigDecimal(5), schema.getMinimum()); + assertEquals(new BigDecimal(7), schema.getMaximum()); + + schema = oas.getPaths().get("/string").getPost().getRequestBody().getContent().get("application/json").getSchema(); + assertEquals(2, schema.getMinLength().intValue()); + assertEquals(7, schema.getMaxLength().intValue()); + assertEquals("aaa", schema.getPattern()); + + } + private OpenAPI getConvertedOpenAPIFromJsonFile(String file) throws IOException, URISyntaxException { SwaggerConverter converter = new SwaggerConverter(); String swaggerAsString = new String(Files.readAllBytes(Paths.get(getClass().getClassLoader().getResource(file).toURI()))); diff --git a/modules/swagger-parser-v2-converter/src/test/resources/issue-673.yaml b/modules/swagger-parser-v2-converter/src/test/resources/issue-673.yaml new file mode 100644 index 0000000000..6111e85552 --- /dev/null +++ b/modules/swagger-parser-v2-converter/src/test/resources/issue-673.yaml @@ -0,0 +1,54 @@ +swagger: '2.0' +info: + version: 1.0.0 + title: Test +paths: + "/integer": + post: + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + required: true + schema: + type: integer + format: int32 + multipleOf: 3 + minimum: 5 + maximum: 7 + exclusiveMinimum: true + exclusiveMaximum: true + uniqueItems: true + "/array": + post: + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + required: true + schema: + type: array + items: + type: string + uniqueItems: true + "/string": + post: + consumes: + - application/json + produces: + - application/json + parameters: + - in: body + name: body + required: true + schema: + type: string + minLength: 2 + maxLength: 7 + pattern: aaa \ No newline at end of file diff --git a/pom.xml b/pom.xml index 3a9c7be2d6..f92bf616a4 100644 --- a/pom.xml +++ b/pom.xml @@ -250,7 +250,7 @@ - 1.0.35 + 1.0.36-SNAPSHOT 2.4 1.6.3 2.0.1