Skip to content

Commit dfc2fe0

Browse files
committed
added tests for #312
1 parent 854cf02 commit dfc2fe0

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed

modules/swagger-parser/src/test/java/io/swagger/parser/FileReferenceTests.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package io.swagger.parser;
22

3+
import io.swagger.models.Operation;
4+
import io.swagger.models.Path;
35
import io.swagger.models.Swagger;
46
import io.swagger.parser.util.SwaggerDeserializationResult;
57
import org.testng.annotations.Test;
68

9+
import static org.testng.Assert.assertEquals;
710
import static org.testng.Assert.assertNotNull;
811
import static org.testng.Assert.assertTrue;
912

@@ -46,4 +49,21 @@ public void testIssue310() {
4649
assertTrue(swagger.getDefinitions().size() == 2);
4750
assertTrue(swagger.getDefinitions().get("Paging").getProperties().size() == 1);
4851
}
52+
53+
54+
@Test
55+
public void testIssue312() {
56+
SwaggerDeserializationResult result = new SwaggerParser().readWithInfo("./src/test/resources/nested-file-references/issue-312.yaml", null, true);
57+
assertNotNull(result.getSwagger());
58+
59+
Swagger swagger = result.getSwagger();
60+
assertNotNull(swagger.getPath("/events"));
61+
Path path = swagger.getPath("/events");
62+
assertNotNull(path.getGet());
63+
64+
Operation get = path.getGet();
65+
assertEquals(get.getOperationId(), "getEvents");
66+
assertTrue(swagger.getDefinitions().size() == 2);
67+
assertTrue(swagger.getDefinitions().get("Paging").getProperties().size() == 1);
68+
}
4969
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
get:
2+
description: A list of events
3+
operationId: getEvents
4+
responses:
5+
200:
6+
description: OK
7+
schema:
8+
required:
9+
- paging
10+
- items
11+
type: object
12+
properties:
13+
paging:
14+
$ref: './common/paging.yaml#/Paging'
15+
items:
16+
$ref: '#/definitions/StatusResponse'
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
swagger: '2.0'
2+
info:
3+
title: Test API
4+
version: '1'
5+
host: example.com
6+
basePath: /api/v1
7+
schemes:
8+
- https
9+
consumes:
10+
- application/json; charset=utf-8
11+
produces:
12+
- application/json; charset=utf-8
13+
14+
paths:
15+
/events:
16+
$ref: './events.yaml'
17+
18+
definitions:
19+
StatusResponse:
20+
properties:
21+
http_code:
22+
type: integer

0 commit comments

Comments
 (0)