File tree Expand file tree Collapse file tree 6 files changed +56
-10
lines changed
swagger-parser-v2-converter/src
main/java/io/swagger/v3/parser/converter
java/io/swagger/parser/test Expand file tree Collapse file tree 6 files changed +56
-10
lines changed Original file line number Diff line number Diff line change @@ -1194,6 +1194,7 @@ public Schema convert(io.swagger.models.Model v2Model) {
11941194 composed .setTitle (composedModel .getTitle ());
11951195 composed .setExtensions (convert (composedModel .getVendorExtensions ()));
11961196 composed .setAllOf (composedModel .getAllOf ().stream ().map (this ::convert ).collect (Collectors .toList ()));
1197+ composed .setRequired (composedModel .getRequired ());
11971198
11981199 addProperties (v2Model , composed );
11991200
Original file line number Diff line number Diff line change @@ -96,6 +96,7 @@ public class V2ConverterTest {
9696 private static final String ISSUE_1715_YAML = "issue-1715.yaml" ;
9797
9898 private static final String ISSUE_1767_YAML = "issue-1767.yaml" ;
99+ private static final String ISSUE_1796_YAML = "issue-1796.yaml" ;
99100
100101 private static final String API_BATCH_PATH = "/api/batch/" ;
101102 private static final String PETS_PATH = "/pets" ;
@@ -877,6 +878,16 @@ public void testIssue1767() throws Exception {
877878 assertNull (secondOperationSecurityRequirements );
878879 }
879880
881+ @ Test (description = "OpenAPI v2 converter - composed model should keep required properties" )
882+ public void testissue1796 () throws Exception {
883+ OpenAPI oas = getConvertedOpenAPIFromJsonFile (ISSUE_1796_YAML );
884+ assertNotNull (oas );
885+ ComposedSchema schema = (ComposedSchema ) oas .getComponents ().getSchemas ().get ("ComposedModel" );
886+ assertNotNull (schema .getRequired ());
887+ assertEquals (schema .getRequired ().size (), 1 );
888+ assertEquals (schema .getRequired ().get (0 ), "name" );
889+ }
890+
880891 @ Test ()
881892 public void testInlineDefinitionProperty () throws Exception {
882893 SwaggerConverter converter = new SwaggerConverter ();
Original file line number Diff line number Diff line change 1+ swagger : " 2.0"
2+ info :
3+ title : composed model conversion test
4+ version : 1.0.0
5+ paths :
6+ /composed :
7+ get :
8+ operationId : composed
9+ responses :
10+ " 200 " :
11+ description : OK
12+ schema :
13+ $ref : " #/definitions/ComposedModel"
14+ definitions :
15+ BaseModel :
16+ type : object
17+ required :
18+ - uuid
19+ properties :
20+ uuid :
21+ type : string
22+ ComposedModel :
23+ type : object
24+ required :
25+ - name
26+ allOf :
27+ - $ref : " #/definitions/BaseModel"
28+ properties :
29+ name :
30+ type : string
Original file line number Diff line number Diff line change 3939 <artifactId >commons-io</artifactId >
4040 <version >${commons-io-version} </version >
4141 </dependency >
42+ <dependency >
43+ <groupId >org.yaml</groupId >
44+ <artifactId >snakeyaml</artifactId >
45+ </dependency >
4246 <dependency >
4347 <groupId >com.fasterxml.jackson.core</groupId >
4448 <artifactId >jackson-annotations</artifactId >
Original file line number Diff line number Diff line change 2222 <artifactId >swagger-parser-v3</artifactId >
2323 <version >${project.parent.version} </version >
2424 </dependency >
25+ <dependency >
26+ <groupId >org.yaml</groupId >
27+ <artifactId >snakeyaml</artifactId >
28+ </dependency >
2529 <dependency >
2630 <groupId >org.jmockit</groupId >
2731 <artifactId >jmockit</artifactId >
Original file line number Diff line number Diff line change 402402 </repository >
403403 </repositories >
404404 <properties >
405- <snakeyaml-version >1.32 </snakeyaml-version >
406- <swagger-parser-v2-version >1.0.62 </swagger-parser-v2-version >
405+ <snakeyaml-version >1.33 </snakeyaml-version >
406+ <swagger-parser-v2-version >1.0.63-SNAPSHOT </swagger-parser-v2-version >
407407 <commons-io-version >2.11.0</commons-io-version >
408408 <slf4j-version >1.7.30</slf4j-version >
409- <swagger-core-version >2.2.3 </swagger-core-version >
410- <swagger-core-v2-version >1.6.7 </swagger-core-v2-version >
409+ <swagger-core-version >2.2.4-SNAPSHOT </swagger-core-version >
410+ <swagger-core-v2-version >1.6.8-SNAPSHOT </swagger-core-v2-version >
411411 <junit-version >4.13.2</junit-version >
412412 <testng-version >6.14.2</testng-version >
413413 <jmockit-version >1.35</jmockit-version >
414414 <wiremock-version >2.15.0</wiremock-version >
415415 <surefire-version >2.22.2</surefire-version >
416416 <commons-lang-version >3.2.1</commons-lang-version >
417- <jackson-version >2.13.2</jackson-version >
418- <!--
419- 2.13.2 is still affected by CVE-2020-36518.
420- This version pin for jackson-databind can be removed when bumping jackson to 2.14
421- -->
422- <jackson-databind-version >2.13.2.2</jackson-databind-version >
417+ <jackson-version >2.13.4</jackson-version >
418+ <jackson-databind-version >2.13.4.2</jackson-databind-version >
423419 <project .build.sourceEncoding>UTF-8</project .build.sourceEncoding>
424420 <sonatypeOssDistMgmtSnapshotsUrl >https://oss.sonatype.org/content/repositories/snapshots/</sonatypeOssDistMgmtSnapshotsUrl >
425421 </properties >
You can’t perform that action at this time.
0 commit comments