diff --git a/core/src/test/java/org/mapfish/print/servlet/ClusteredMapPrinterServletTest.java b/core/src/test/java/org/mapfish/print/servlet/ClusteredMapPrinterServletTest.java index 4ccde0b514..2433755c29 100644 --- a/core/src/test/java/org/mapfish/print/servlet/ClusteredMapPrinterServletTest.java +++ b/core/src/test/java/org/mapfish/print/servlet/ClusteredMapPrinterServletTest.java @@ -1,10 +1,8 @@ package org.mapfish.print.servlet; -import org.junit.Ignore; import org.springframework.test.context.ContextConfiguration; @ContextConfiguration(locations = {ClusteredMapPrinterServletTest.CLUSTERED_CONTEXT}) -@Ignore // db must be set up to run this test public class ClusteredMapPrinterServletTest extends MapPrinterServletTest { public static final String CLUSTERED_CONTEXT = diff --git a/core/src/test/java/org/mapfish/print/servlet/MapPrinterServletTest.java b/core/src/test/java/org/mapfish/print/servlet/MapPrinterServletTest.java index e764a5e0f7..a678bedfbb 100644 --- a/core/src/test/java/org/mapfish/print/servlet/MapPrinterServletTest.java +++ b/core/src/test/java/org/mapfish/print/servlet/MapPrinterServletTest.java @@ -18,6 +18,7 @@ import java.util.Calendar; import java.util.HashMap; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.function.Function; import javax.annotation.Nullable; @@ -83,7 +84,7 @@ public void testExampleRequest() throws Exception { String example = createResponseJson.getString("requestData"); JSONObject obj = new JSONObject(example); - assertTrue(obj.length() > 0); + assertFalse(obj.isEmpty()); final MockHttpServletResponse getExampleResponseExplicit = new MockHttpServletResponse(); this.servlet.getExampleRequest( @@ -246,6 +247,9 @@ public MockClientHttpRequest handleRequest(URI uri, HttpMethod httpMethod) { (@Nullable MockHttpServletRequest servletCreateRequest) -> { try { final MockHttpServletResponse servletCreateResponse = new MockHttpServletResponse(); + if (servletCreateRequest == null) { + throw new AssertionError("servletCreateRequest is null"); + } servletCreateRequest.addHeader("Cookies", "CookieValue"); servletCreateRequest.addHeader("Cookies", "CookieValue2"); servletCreateRequest.addHeader("Header2", "h2"); @@ -270,11 +274,15 @@ public MockClientHttpRequest handleRequest(URI uri, HttpMethod httpMethod) { assertEquals(4, request.getHeaders().size()); assertArrayEquals( new Object[] {"CookieValue", "CookieValue2"}, - request.getHeaders().get("Cookies").toArray()); - assertArrayEquals(new Object[] {ref}, request.getHeaders().get("X-Request-ID").toArray()); - assertArrayEquals(new Object[] {ref}, request.getHeaders().get("X-Job-ID").toArray()); + Objects.requireNonNull(request.getHeaders().get("Cookies")).toArray()); assertArrayEquals( - new Object[] {"default"}, request.getHeaders().get("X-Application-ID").toArray()); + new Object[] {ref}, + Objects.requireNonNull(request.getHeaders().get("X-Request-ID")).toArray()); + assertArrayEquals( + new Object[] {ref}, Objects.requireNonNull(request.getHeaders().get("X-Job-ID")).toArray()); + assertArrayEquals( + new Object[] {"default"}, + Objects.requireNonNull(request.getHeaders().get("X-Application-ID")).toArray()); } @Test(timeout = 60000) @@ -722,8 +730,8 @@ public void testCreateReport_AbandonedTimeout() throws Exception { } /** - * Check that a job is not canceled, when status requests are made. Test case for: - * https://github.com/mapfish/mapfish-print/issues/404 + * Check that a job is not canceled, when status requests are made. Test case for: Issue 404 */ @Test(timeout = 60000) @DirtiesContext @@ -768,7 +776,7 @@ private void waitForCanceled(String ref) Thread.sleep(500); } else if (status == HttpStatus.INTERNAL_SERVER_ERROR.value()) { String error = servletGetReportResponse.getContentAsString(); - assertTrue(error.contains("canceled")); + assertTrue(error + " did not contain canceled", error.contains("canceled")); return; } else { fail(status + " was not one of the expected response codes. Expected: 500 or 202"); @@ -1155,14 +1163,15 @@ private void assertCorrectResponse(MockHttpServletResponse servletGetReportRespo assertCorrectResponse(servletGetReportResponse, "test_report-"); } - private byte[] assertCorrectResponse( + private void assertCorrectResponse( MockHttpServletResponse servletGetReportResponse, String outputNamePrefix) throws IOException { byte[] report = servletGetReportResponse.getContentAsByteArray(); final String contentType = servletGetReportResponse.getHeader("Content-Type"); assertEquals("image/png", contentType); - String fileName = servletGetReportResponse.getHeader("Content-disposition").split("=")[1]; + String header = servletGetReportResponse.getHeader("Content-disposition"); + String fileName = Objects.requireNonNull(header).split("=")[1]; final Calendar instance = Calendar.getInstance(); int year = instance.get(Calendar.YEAR); @@ -1170,7 +1179,6 @@ private byte[] assertCorrectResponse( new ImageSimilarity(getFile(MapPrinterServletTest.class, "expectedSimpleImage.png")) .assertSimilarity(report, 0); - return report; } private void setUpConfigFiles() throws URISyntaxException { diff --git a/docker-compose.yaml b/docker-compose.yaml index e3a14d0db8..8e23e7890c 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -17,6 +17,31 @@ services: LOG_LEVEL: DEBUG JASPER_LOG_LEVEL: DEBUG + db: + image: camptocamp/postgres:14-postgis-3 + environment: + - POSTGRES_PASSWORD=pgpass + - POSTGRES_DB=print + - POSTGRES_USER=print + + printclusternode1: &printclusternode + image: mapfish_print_tester + volumes: + - ./examples/src/test/resources/examples:/usr/local/tomcat/webapps/ROOT/print-apps + ports: + - 8081:8080 + environment: + PRINT_YAML_MAX_ALIASES: 200 + LOG_LEVEL: DEBUG + JASPER_LOG_LEVEL: DEBUG + CATALINA_OUT: /dev/stdout + CATALINA_OPTS: -Ddb.host=db -Ddb.port=5432 -Ddb.username=print -Ddb.password=pgpass -Ddb.name=print -Ddb.schema=public + + printclusternode2: + <<: *printclusternode + ports: + - 8082:8080 + tests: image: mapfish_print_builder user: ${USER_ID}