diff --git a/modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTests.java b/modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTests.java index 870679513a..c2f741a769 100644 --- a/modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTests.java +++ b/modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTests.java @@ -24,4 +24,15 @@ public void testIssue306() { // copied from `./book.yaml` assertNotNull(swagger.getDefinitions().get("book")); } + + @Test + public void testIssue308() { + SwaggerDeserializationResult result = new SwaggerParser().readWithInfo("./src/test/resources/nested-file-references/issue-308.yaml", null, true); + assertNotNull(result.getSwagger()); + + Swagger swagger = result.getSwagger(); + + assertTrue(swagger.getDefinitions().size() == 2); + assertTrue(swagger.getDefinitions().get("Paging").getProperties().size() == 1); + } } diff --git a/modules/swagger-parser/src/test/resources/nested-file-references/issue-308.yaml b/modules/swagger-parser/src/test/resources/nested-file-references/issue-308.yaml new file mode 100644 index 0000000000..b8c9ebd88d --- /dev/null +++ b/modules/swagger-parser/src/test/resources/nested-file-references/issue-308.yaml @@ -0,0 +1,37 @@ +swagger: '2.0' +info: + title: Test API + version: '1' +host: example.com +basePath: /api/v1 +schemes: + - https +consumes: + - application/json; charset=utf-8 +produces: + - application/json; charset=utf-8 + +paths: + /events: + get: + description: A list of events + operationId: getEvents + responses: + 200: + description: OK + schema: + required: + - paging + - items + type: object + properties: + paging: + $ref: './paging.yaml#/Paging' + items: + $ref: '#/definitions/StatusResponse' + +definitions: + StatusResponse: + properties: + http_code: + type: integer diff --git a/modules/swagger-parser/src/test/resources/nested-file-references/paging.yaml b/modules/swagger-parser/src/test/resources/nested-file-references/paging.yaml new file mode 100644 index 0000000000..efda5bee1c --- /dev/null +++ b/modules/swagger-parser/src/test/resources/nested-file-references/paging.yaml @@ -0,0 +1,5 @@ +Paging: + type: object + properties: + total_items: + type: integer