@@ -170,6 +170,7 @@ public void testIssue1780() {
170170 public void testParametersAndResponsesAsNumbers () throws Exception {
171171 ParseOptions options = new ParseOptions ();
172172 options .setResolve (true );
173+ options .setResolveResponses (true );
173174 SwaggerParseResult result = new OpenAPIV3Parser ().readLocation ("src/test/resources/parametersAsNumbers/swagger.yaml" , null , options );
174175
175176 Assert .assertNotNull (result );
@@ -1214,6 +1215,7 @@ public void testIssue1131() {
12141215 public void testIssue834 () {
12151216 ParseOptions options = new ParseOptions ();
12161217 options .setResolve (true );
1218+ options .setResolveResponses (true );
12171219 SwaggerParseResult result = new OpenAPIV3Parser ().readLocation ("issue-834/index.yaml" , null , options );
12181220 assertNotNull (result .getOpenAPI ());
12191221
@@ -1247,8 +1249,8 @@ public void testIssue811_RefSchema_ToRefSchema() {
12471249 public void testIssue811 () {
12481250 ParseOptions options = new ParseOptions ();
12491251 options .setResolve (true );
1252+ options .setResolveResponses (true );
12501253 final OpenAPI openAPI = new OpenAPIV3Parser ().readLocation ("oapi-reference-test/index.yaml" , null , options ).getOpenAPI ();
1251-
12521254 Assert .assertNotNull (openAPI );
12531255 Assert .assertEquals (openAPI .getPaths ().get ("/" ).getGet ().getResponses ().get ("200" ).getContent ().get ("application/json" ).getSchema ().get$ref (),"#/components/schemas/schema-with-reference" );
12541256 }
@@ -1940,7 +1942,9 @@ public void testRelativePath() {
19401942 OpenAPIV3Parser parser = new OpenAPIV3Parser ();
19411943 ParseOptions options = new ParseOptions ();
19421944 options .setResolve (true );
1945+ options .setResolveResponses (true );
19431946 SwaggerParseResult readResult = parser .readLocation ("src/test/resources/relative-issue/api.yaml" , null , options );
1947+ Yaml .prettyPrint (readResult .getOpenAPI ());
19441948 Assert .assertEquals (readResult .getOpenAPI ().getPaths ().get ("/scans" ).getGet ().getResponses ().get ("500" ).getContent ().get ("application/json" ).getSchema ().get$ref (), "#/components/schemas/ErrorMessage" );
19451949 }
19461950
@@ -1949,6 +1953,7 @@ public void testRelativePath2() {
19491953 OpenAPIV3Parser parser = new OpenAPIV3Parser ();
19501954 ParseOptions options = new ParseOptions ();
19511955 options .setResolve (true );
1956+ options .setResolveResponses (true );
19521957 SwaggerParseResult readResult = parser .readLocation ("src/test/resources/codegen-remote-responses/openapi.yaml" , null , options );
19531958 Assert .assertEquals (readResult .getOpenAPI ().getPaths ().get ("/pet/findByTags" ).getGet ().getResponses ().get ("default" ).getContent ().get ("application/json" ).getSchema ().get$ref (), "#/components/schemas/ErrorModel" );
19541959 }
@@ -1957,6 +1962,7 @@ private OpenAPI doRelativeFileTest(String location) {
19571962 OpenAPIV3Parser parser = new OpenAPIV3Parser ();
19581963 ParseOptions options = new ParseOptions ();
19591964 options .setResolve (true );
1965+ options .setResolveResponses (true );
19601966 SwaggerParseResult readResult = parser .readLocation (location , null , options );
19611967
19621968 if (readResult .getMessages ().size () > 0 ) {
@@ -2769,6 +2775,7 @@ public void testIssue1177() {
27692775 ParseOptions options = new ParseOptions ();
27702776 options .setResolve (true );
27712777 options .setResolveFully (true );
2778+ options .setResolveResponses (true );
27722779
27732780 OpenAPI openAPI = new OpenAPIV3Parser ().readLocation (path , auths , options ).getOpenAPI ();
27742781
@@ -3298,4 +3305,51 @@ public void testIssue2081() {
32983305 assertEquals (openAPI .getComponents ().getSchemas ().get ("PetCreate" ).getRequired ().size (), 1 );
32993306 assertEquals (openAPI .getComponents ().getSchemas ().get ("PetCreate" ).getProperties ().size (), 2 );
33003307 }
3308+
3309+ @ Test (description = "responses should be inline" )
3310+ public void testFullyResolveResponses () {
3311+ ParseOptions options = new ParseOptions ();
3312+ options .setResolve (true );
3313+ options .setResolveResponses (true );
3314+ OpenAPIV3Parser openApiParser = new OpenAPIV3Parser ();
3315+ SwaggerParseResult parseResult = openApiParser .readLocation ("resolve-responses-test.yaml" , null , options );
3316+ OpenAPI openAPI = parseResult .getOpenAPI ();
3317+ assertNull (openAPI .getPaths ().get ("/users" ).getGet ().getResponses ().get ("400" ).get$ref ());
3318+ assertNull (openAPI .getPaths ().get ("/users" ).getPost ().getResponses ().get ("400" ).get$ref ());
3319+ assertNull (openAPI .getPaths ().get ("/users" ).getPost ().getResponses ().get ("422" ).get$ref ());
3320+ assertNull (openAPI .getPaths ().get ("/users/{userId}" ).getGet ().getResponses ().get ("404" ).get$ref ());
3321+ assertNull (openAPI .getPaths ().get ("/users/{userId}" ).getPut ().getResponses ().get ("400" ).get$ref ());
3322+ assertNull (openAPI .getPaths ().get ("/users/{userId}" ).getPut ().getResponses ().get ("404" ).get$ref ());
3323+ assertNull (openAPI .getPaths ().get ("/users/{userId}" ).getDelete ().getResponses ().get ("400" ).get$ref ());
3324+ assertNull (openAPI .getPaths ().get ("/users/{userId}" ).getDelete ().getResponses ().get ("404" ).get$ref ());
3325+ }
3326+
3327+ @ Test (description = "responses should not be inline" )
3328+ public void testResolveResponsesRef () {
3329+ ParseOptions options = new ParseOptions ();
3330+ options .setResolve (true );
3331+ OpenAPIV3Parser openApiParser = new OpenAPIV3Parser ();
3332+ SwaggerParseResult parseResult = openApiParser .readLocation ("resolve-responses-test.yaml" , null , options );
3333+ OpenAPI openAPI = parseResult .getOpenAPI ();
3334+ assertEquals (openAPI .getPaths ().get ("/users" ).getGet ().getResponses ().get ("400" ).get$ref (), "#/components/responses/BadRequest" );
3335+ assertEquals (openAPI .getPaths ().get ("/users" ).getPost ().getResponses ().get ("400" ).get$ref (), "#/components/responses/BadRequest" );
3336+ assertEquals (openAPI .getPaths ().get ("/users" ).getPost ().getResponses ().get ("422" ).get$ref (), "#/components/responses/UnprocessableEntity" );
3337+ assertEquals (openAPI .getPaths ().get ("/users/{userId}" ).getGet ().getResponses ().get ("404" ).get$ref (), "#/components/responses/NotFound" );
3338+ assertEquals (openAPI .getPaths ().get ("/users/{userId}" ).getPut ().getResponses ().get ("400" ).get$ref (), "#/components/responses/BadRequest" );
3339+ assertEquals (openAPI .getPaths ().get ("/users/{userId}" ).getPut ().getResponses ().get ("404" ).get$ref (), "#/components/responses/NotFound" );
3340+ assertEquals (openAPI .getPaths ().get ("/users/{userId}" ).getDelete ().getResponses ().get ("400" ).get$ref (), "#/components/responses/BadRequest" );
3341+ assertEquals (openAPI .getPaths ().get ("/users/{userId}" ).getDelete ().getResponses ().get ("404" ).get$ref (), "#/components/responses/NotFound" );
3342+ }
3343+
3344+ @ Test
3345+ public void testResolveOASWithFlatten (){
3346+ ParseOptions options = new ParseOptions ();
3347+ options .setResolve (true );
3348+ options .setFlatten (true );
3349+ OpenAPIV3Parser openApiParser = new OpenAPIV3Parser ();
3350+ SwaggerParseResult parseResult = openApiParser .readLocation ("resolve-flatten-SH-configuration-test.yaml" , null , options );
3351+ OpenAPI openAPI = parseResult .getOpenAPI ();
3352+ assertNull (openAPI .getComponents ().getSchemas ().get ("#/components/schemas/inline_response_404" ));
3353+ assertNull (openAPI .getComponents ().getSchemas ().get ("#/components/schemas/inline_response_200" ));
3354+ }
33013355}
0 commit comments