@@ -170,6 +170,7 @@ public void testIssue1780() {
170
170
public void testParametersAndResponsesAsNumbers () throws Exception {
171
171
ParseOptions options = new ParseOptions ();
172
172
options .setResolve (true );
173
+ options .setResolveResponses (true );
173
174
SwaggerParseResult result = new OpenAPIV3Parser ().readLocation ("src/test/resources/parametersAsNumbers/swagger.yaml" , null , options );
174
175
175
176
Assert .assertNotNull (result );
@@ -1214,6 +1215,7 @@ public void testIssue1131() {
1214
1215
public void testIssue834 () {
1215
1216
ParseOptions options = new ParseOptions ();
1216
1217
options .setResolve (true );
1218
+ options .setResolveResponses (true );
1217
1219
SwaggerParseResult result = new OpenAPIV3Parser ().readLocation ("issue-834/index.yaml" , null , options );
1218
1220
assertNotNull (result .getOpenAPI ());
1219
1221
@@ -1247,8 +1249,8 @@ public void testIssue811_RefSchema_ToRefSchema() {
1247
1249
public void testIssue811 () {
1248
1250
ParseOptions options = new ParseOptions ();
1249
1251
options .setResolve (true );
1252
+ options .setResolveResponses (true );
1250
1253
final OpenAPI openAPI = new OpenAPIV3Parser ().readLocation ("oapi-reference-test/index.yaml" , null , options ).getOpenAPI ();
1251
-
1252
1254
Assert .assertNotNull (openAPI );
1253
1255
Assert .assertEquals (openAPI .getPaths ().get ("/" ).getGet ().getResponses ().get ("200" ).getContent ().get ("application/json" ).getSchema ().get$ref (),"#/components/schemas/schema-with-reference" );
1254
1256
}
@@ -1940,7 +1942,9 @@ public void testRelativePath() {
1940
1942
OpenAPIV3Parser parser = new OpenAPIV3Parser ();
1941
1943
ParseOptions options = new ParseOptions ();
1942
1944
options .setResolve (true );
1945
+ options .setResolveResponses (true );
1943
1946
SwaggerParseResult readResult = parser .readLocation ("src/test/resources/relative-issue/api.yaml" , null , options );
1947
+ Yaml .prettyPrint (readResult .getOpenAPI ());
1944
1948
Assert .assertEquals (readResult .getOpenAPI ().getPaths ().get ("/scans" ).getGet ().getResponses ().get ("500" ).getContent ().get ("application/json" ).getSchema ().get$ref (), "#/components/schemas/ErrorMessage" );
1945
1949
}
1946
1950
@@ -1949,6 +1953,7 @@ public void testRelativePath2() {
1949
1953
OpenAPIV3Parser parser = new OpenAPIV3Parser ();
1950
1954
ParseOptions options = new ParseOptions ();
1951
1955
options .setResolve (true );
1956
+ options .setResolveResponses (true );
1952
1957
SwaggerParseResult readResult = parser .readLocation ("src/test/resources/codegen-remote-responses/openapi.yaml" , null , options );
1953
1958
Assert .assertEquals (readResult .getOpenAPI ().getPaths ().get ("/pet/findByTags" ).getGet ().getResponses ().get ("default" ).getContent ().get ("application/json" ).getSchema ().get$ref (), "#/components/schemas/ErrorModel" );
1954
1959
}
@@ -1957,6 +1962,7 @@ private OpenAPI doRelativeFileTest(String location) {
1957
1962
OpenAPIV3Parser parser = new OpenAPIV3Parser ();
1958
1963
ParseOptions options = new ParseOptions ();
1959
1964
options .setResolve (true );
1965
+ options .setResolveResponses (true );
1960
1966
SwaggerParseResult readResult = parser .readLocation (location , null , options );
1961
1967
1962
1968
if (readResult .getMessages ().size () > 0 ) {
@@ -2769,6 +2775,7 @@ public void testIssue1177() {
2769
2775
ParseOptions options = new ParseOptions ();
2770
2776
options .setResolve (true );
2771
2777
options .setResolveFully (true );
2778
+ options .setResolveResponses (true );
2772
2779
2773
2780
OpenAPI openAPI = new OpenAPIV3Parser ().readLocation (path , auths , options ).getOpenAPI ();
2774
2781
@@ -3298,4 +3305,51 @@ public void testIssue2081() {
3298
3305
assertEquals (openAPI .getComponents ().getSchemas ().get ("PetCreate" ).getRequired ().size (), 1 );
3299
3306
assertEquals (openAPI .getComponents ().getSchemas ().get ("PetCreate" ).getProperties ().size (), 2 );
3300
3307
}
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
+ }
3301
3355
}
0 commit comments