diff --git a/core/src/main/java/org/openapitools/openapidiff/core/output/ConsoleRender.java b/core/src/main/java/org/openapitools/openapidiff/core/output/ConsoleRender.java index 204f814ab..72597ad91 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/output/ConsoleRender.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/output/ConsoleRender.java @@ -118,7 +118,7 @@ private String ul_response(ChangedApiResponse changedApiResponse) { private String itemResponse(String title, String code) { StringBuilder sb = new StringBuilder(); String status = ""; - if (!code.equals("default")) { + if (!code.equals("default") && !code.matches("[1-5]XX")) { status = HttpStatus.getReasonPhrase(Integer.parseInt(code)); } sb.append(StringUtils.repeat(' ', 4)) diff --git a/core/src/main/java/org/openapitools/openapidiff/core/output/MarkdownRender.java b/core/src/main/java/org/openapitools/openapidiff/core/output/MarkdownRender.java index ad74bd610..a0d2c5448 100644 --- a/core/src/main/java/org/openapitools/openapidiff/core/output/MarkdownRender.java +++ b/core/src/main/java/org/openapitools/openapidiff/core/output/MarkdownRender.java @@ -158,7 +158,7 @@ protected String itemResponse(String code, ChangedResponse response) { protected String itemResponse(String title, String code, String description) { StringBuilder sb = new StringBuilder(); String status = ""; - if (!code.equals("default")) { + if (!code.equals("default") && !code.matches("[1-5]XX")) { status = HttpStatus.getReasonPhrase(Integer.parseInt(code)); } sb.append(format("%s : **%s %s**\n", title, code, status)); diff --git a/core/src/test/java/org/openapitools/openapidiff/core/ConsoleRenderTest.java b/core/src/test/java/org/openapitools/openapidiff/core/ConsoleRenderTest.java index 329fea054..455631700 100644 --- a/core/src/test/java/org/openapitools/openapidiff/core/ConsoleRenderTest.java +++ b/core/src/test/java/org/openapitools/openapidiff/core/ConsoleRenderTest.java @@ -14,4 +14,12 @@ public void renderDoesNotFailWhenPropertyHasBeenRemoved() { OpenApiCompare.fromLocations("missing_property_1.yaml", "missing_property_2.yaml"); assertThat(render.render(diff)).isNotBlank(); } + + @Test + public void renderDoesNotFailWhenHTTPStatusCodeIsRange() { + ConsoleRender render = new ConsoleRender(); + ChangedOpenApi diff = + OpenApiCompare.fromLocations("range_statuscode_1.yaml", "range_statuscode_2.yaml"); + assertThat(render.render(diff)).isNotBlank(); + } } diff --git a/core/src/test/java/org/openapitools/openapidiff/core/MarkdownRenderTest.java b/core/src/test/java/org/openapitools/openapidiff/core/MarkdownRenderTest.java index 154fef127..36e007a8c 100644 --- a/core/src/test/java/org/openapitools/openapidiff/core/MarkdownRenderTest.java +++ b/core/src/test/java/org/openapitools/openapidiff/core/MarkdownRenderTest.java @@ -21,4 +21,12 @@ public void renderDoesNotCauseStackOverflowWithRecursiveDefinitions() { ChangedOpenApi diff = OpenApiCompare.fromLocations("recursive_old.yaml", "recursive_new.yaml"); assertThat(render.render(diff)).isNotBlank(); } + + @Test + public void renderDoesNotFailWhenHTTPStatusCodeIsRange() { + MarkdownRender render = new MarkdownRender(); + ChangedOpenApi diff = + OpenApiCompare.fromLocations("range_statuscode_1.yaml", "range_statuscode_2.yaml"); + assertThat(render.render(diff)).isNotBlank(); + } } diff --git a/core/src/test/resources/range_statuscode_1.yaml b/core/src/test/resources/range_statuscode_1.yaml new file mode 100644 index 000000000..4653a70fc --- /dev/null +++ b/core/src/test/resources/range_statuscode_1.yaml @@ -0,0 +1,10 @@ +openapi: 3.0.0 +info: + title: Projects API + version: 1.0.0 +paths: + /pet/: + get: + responses: + "405": + description: "Invalid input" diff --git a/core/src/test/resources/range_statuscode_2.yaml b/core/src/test/resources/range_statuscode_2.yaml new file mode 100644 index 000000000..d0ecbeb75 --- /dev/null +++ b/core/src/test/resources/range_statuscode_2.yaml @@ -0,0 +1,10 @@ +openapi: 3.0.0 +info: + title: Projects API + version: 1.0.0 +paths: + /pet/: + get: + responses: + "4XX": + description: "Invalid input"