Skip to content

Commit 5ffaa04

Browse files
author
Michael Longo
committed
Added UT to validate resolve of ext ref in allOf properties
1 parent 2763079 commit 5ffaa04

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

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

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import io.swagger.models.parameters.SerializableParameter;
2424
import io.swagger.models.properties.ArrayProperty;
2525
import io.swagger.models.properties.ByteArrayProperty;
26+
import io.swagger.models.properties.ComposedProperty;
2627
import io.swagger.models.properties.IntegerProperty;
2728
import io.swagger.models.properties.MapProperty;
2829
import io.swagger.models.properties.ObjectProperty;
@@ -1365,6 +1366,21 @@ public void checkAllOfWithRelativeReferencesIssue604() {
13651366
assertEquals(2, swagger.getDefinitions().size());
13661367
}
13671368

1369+
@Test(description = "Test that validate resolution of external references in allOf of property")
1370+
public void checkExtRefResolveInPropertiesWithAllOf() {
1371+
Swagger swagger = new SwaggerParser().read("src/test/resources/allOf-property-relative-file-references/parent.yaml");
1372+
assertEquals(2, swagger.getDefinitions().size());
1373+
assertEquals(1, swagger.getDefinitions().get("test").getProperties().size());
1374+
1375+
ComposedProperty property = (ComposedProperty) swagger.getDefinitions().get("test").getProperties().get("property");
1376+
assertEquals(1, property.getVendorExtensions().size());
1377+
assertEquals(1, property.getAllOf().size());
1378+
1379+
RefProperty refProperty = (RefProperty) property.getAllOf().get(0);
1380+
assertEquals("#/definitions/def", refProperty.get$ref());
1381+
1382+
}
1383+
13681384
@Test(description = "A string example should not be over quoted when parsing a yaml string")
13691385
public void readingSpecStringShouldNotOverQuotingStringExample() throws Exception {
13701386
SwaggerParser parser = new SwaggerParser();
@@ -1489,4 +1505,4 @@ public void testIssue913() {
14891505
Assert.assertNotNull(swagger.getDefinitions().get("indicatorType"));
14901506
Assert.assertEquals(swagger.getDefinitions().get("indicatorType").getProperties().size(),1);
14911507
}
1492-
}
1508+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
swagger: '2.0'
2+
3+
info:
4+
version: "0.0.1"
5+
title: Devices API
6+
7+
basePath: /api/v2/devices
8+
9+
definitions:
10+
def:
11+
type: object
12+
properties:
13+
name:
14+
type: string
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
swagger: '2.0'
2+
3+
info:
4+
version: "0.0.1"
5+
title: Devices API
6+
7+
basePath: /api/v2/devices
8+
9+
definitions:
10+
test:
11+
type: object
12+
properties:
13+
property:
14+
x-attr: "value"
15+
allOf:
16+
- $ref: "./child.yaml#/definitions/def"

0 commit comments

Comments
 (0)