Skip to content

Commit 70106ff

Browse files
authored
Merge branch 'master' into ISSUE-1745
2 parents 5907907 + 4a94617 commit 70106ff

File tree

6 files changed

+56
-10
lines changed

6 files changed

+56
-10
lines changed

modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff 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

modules/swagger-parser-v2-converter/src/test/java/io/swagger/parser/test/V2ConverterTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff 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();
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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

modules/swagger-parser-v3/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@
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>

modules/swagger-parser/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
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>

pom.xml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -402,24 +402,20 @@
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>

0 commit comments

Comments
 (0)