From 51268022cbfe9ff557ab1fd6362ba72c6f0f7e33 Mon Sep 17 00:00:00 2001 From: Hccake Date: Fri, 28 Jan 2022 11:21:44 +0800 Subject: [PATCH] Fix the problem that the inconsistent newline characters of different platforms cause the test case to fail --- .../org/springdoc/ui/AbstractCommonTest.java | 9 +++++++-- .../springdoc/ui/AbstractSpringDocTest.java | 8 +++++++- .../ui/app1/SpringDocConfigPathsTest.java | 3 +-- .../app5/SpringDocOauthServletPathsTest.java | 3 +-- .../org/springdoc/ui/AbstractCommonTest.java | 9 +++++++-- .../springdoc/ui/AbstractSpringDocTest.java | 18 +++++------------- .../springdoc/ui/app6/SpringDocApp6Test.java | 5 +---- .../springdoc/ui/app7/SpringDocApp7Test.java | 5 +---- 8 files changed, 30 insertions(+), 30 deletions(-) diff --git a/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractCommonTest.java b/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractCommonTest.java index 6a7eb49df..a66875394 100644 --- a/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractCommonTest.java +++ b/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractCommonTest.java @@ -4,6 +4,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,8 +26,12 @@ public abstract class AbstractCommonTest { protected String getContent(String fileName) { try { Path path = Paths.get(AbstractCommonTest.class.getClassLoader().getResource(fileName).toURI()); - byte[] fileBytes = Files.readAllBytes(path); - return new String(fileBytes, StandardCharsets.UTF_8); + List lines = Files.readAllLines(path, StandardCharsets.UTF_8); + StringBuilder sb = new StringBuilder(); + for (String line : lines) { + sb.append(line).append("\n"); + } + return sb.toString(); } catch (Exception e) { throw new RuntimeException("Failed to read file: " + fileName, e); diff --git a/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java b/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java index ef86642f2..4d4595cc9 100644 --- a/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java +++ b/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java @@ -39,8 +39,9 @@ protected void checkHTML(String fileName, String uri)throws Exception { MvcResult mvcResult = mockMvc.perform(get(uri)).andExpect(status().isOk()).andReturn(); String transformedIndex = mvcResult.getResponse().getContentAsString(); assertTrue(transformedIndex.contains("Swagger UI")); - assertEquals(this.getContent(fileName), transformedIndex); + assertEquals(this.getContent(fileName), transformedIndex.replace("\r", "")); } + protected void chekHTML(String fileName) throws Exception { checkHTML( fileName, DEFAULT_SWAGGER_UI_URL); } @@ -50,4 +51,9 @@ protected void chekHTML() throws Exception { String testNumber = className.replaceAll("[^0-9]", ""); checkHTML( "results/app" + testNumber, DEFAULT_SWAGGER_UI_URL); } + + protected void checkHTMLResult(String fileName, String htmlResult)throws Exception { + assertTrue(htmlResult.contains("Swagger UI")); + assertEquals(this.getContent(fileName), htmlResult.replace("\r", "")); + } } diff --git a/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocConfigPathsTest.java b/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocConfigPathsTest.java index ba5eab387..b058e6a36 100644 --- a/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocConfigPathsTest.java +++ b/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app1/SpringDocConfigPathsTest.java @@ -50,8 +50,7 @@ public void should_display_swaggerui_page() throws Exception { MvcResult mvcResult = mockMvc.perform(get("/context-path/servlet-path/test/swagger-ui/index.html").contextPath("/context-path").servletPath("/servlet-path")).andExpect(status().isOk()).andReturn(); String transformedIndex = mvcResult.getResponse().getContentAsString(); - assertTrue(transformedIndex.contains("Swagger UI")); - assertEquals(this.getContent("results/app1-contextpath"), transformedIndex); + checkHTMLResult("results/app1-contextpath", transformedIndex); } @SpringBootApplication diff --git a/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app5/SpringDocOauthServletPathsTest.java b/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app5/SpringDocOauthServletPathsTest.java index 36d09094a..a4c3c4c3e 100644 --- a/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app5/SpringDocOauthServletPathsTest.java +++ b/springdoc-openapi-ui/src/test/java/test/org/springdoc/ui/app5/SpringDocOauthServletPathsTest.java @@ -47,8 +47,7 @@ public void should_display_oauth2_redirect_page() throws Exception { MvcResult mvcResult = mockMvc.perform(get("/context-path/servlet-path/test/swagger-ui/index.html").servletPath("/servlet-path").contextPath("/context-path")).andExpect(status().isOk()).andReturn(); String transformedIndex = mvcResult.getResponse().getContentAsString(); - assertTrue(transformedIndex.contains("Swagger UI")); - assertEquals(this.getContent("results/app5-contextpath"), transformedIndex); + checkHTMLResult("results/app5-contextpath", transformedIndex); } @Test diff --git a/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/AbstractCommonTest.java b/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/AbstractCommonTest.java index 053134ffd..abe19f152 100644 --- a/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/AbstractCommonTest.java +++ b/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/AbstractCommonTest.java @@ -4,6 +4,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,8 +26,12 @@ public abstract class AbstractCommonTest { protected String getContent(String fileName) { try { Path path = Paths.get(AbstractCommonTest.class.getClassLoader().getResource(fileName).toURI()); - byte[] fileBytes = Files.readAllBytes(path); - return new String(fileBytes, StandardCharsets.UTF_8); + List lines = Files.readAllLines(path, StandardCharsets.UTF_8); + StringBuilder sb = new StringBuilder(); + for (String line : lines) { + sb.append(line).append("\n"); + } + return sb.toString(); } catch (Exception e) { throw new RuntimeException("Failed to read file: " + fileName, e); diff --git a/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java b/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java index f7a2a85f9..3a7f89765 100644 --- a/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java +++ b/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/AbstractSpringDocTest.java @@ -51,26 +51,18 @@ public abstract class AbstractSpringDocTest extends AbstractCommonTest { private static final String DEFAULT_SWAGGER_UI_URL= Constants.DEFAULT_WEB_JARS_PREFIX_URL + Constants.SWAGGER_UI_URL; - protected String getContent(String fileName) { - try { - Path path = Paths.get(AbstractSpringDocTest.class.getClassLoader().getResource(fileName).toURI()); - byte[] fileBytes = Files.readAllBytes(path); - return new String(fileBytes, StandardCharsets.UTF_8); - } - catch (Exception e) { - throw new RuntimeException("Failed to read file: " + fileName, e); - } - } - protected void checkHTML(String fileName, String uri) { EntityExchangeResult getResult = webTestClient.get().uri(uri) .exchange() .expectStatus().isOk() .expectBody().returnResult(); - String result = new String(getResult.getResponseBody()); + checkHTMLResult(fileName, new String(getResult.getResponseBody())); + } + + protected void checkHTMLResult(String fileName, String result) { assertTrue(result.contains("Swagger UI")); String expected = getContent("results/" + fileName); - assertEquals(expected, result); + assertEquals(expected, result.replace("\r", "")); } protected void checkHTML(String fileName) { diff --git a/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/app6/SpringDocApp6Test.java b/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/app6/SpringDocApp6Test.java index db3fa4f48..3e8a65f58 100644 --- a/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/app6/SpringDocApp6Test.java +++ b/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/app6/SpringDocApp6Test.java @@ -42,10 +42,7 @@ public void transformed_index_with_oauth() throws Exception { .exchange() .expectStatus().isOk() .expectBody().returnResult(); - String result = new String(getResult.getResponseBody()); - assertTrue(result.contains("Swagger UI")); - String expected = getContent("results/index6"); - assertEquals(expected, result); + checkHTMLResult("index6", new String(getResult.getResponseBody())); } @SpringBootApplication diff --git a/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/app7/SpringDocApp7Test.java b/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/app7/SpringDocApp7Test.java index 3cd818eed..e58d9e36a 100644 --- a/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/app7/SpringDocApp7Test.java +++ b/springdoc-openapi-webflux-ui/src/test/java/test/org/springdoc/ui/app7/SpringDocApp7Test.java @@ -42,10 +42,7 @@ public void transformed_index_with_oauth() throws Exception { .exchange() .expectStatus().isOk() .expectBody().returnResult(); - String result = new String(getResult.getResponseBody()); - assertTrue(result.contains("Swagger UI")); - String expected = getContent("results/index7"); - assertEquals(expected, result); + checkHTMLResult("index7", new String(getResult.getResponseBody())); } @SpringBootApplication