diff options
Diffstat (limited to 'pdf-as-web/src/test/java')
8 files changed, 55 insertions, 81 deletions
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/servlets/SimpleSignServletTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/servlets/SimpleSignServletTest.java index a311429d..a99e79a7 100644 --- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/servlets/SimpleSignServletTest.java +++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/servlets/SimpleSignServletTest.java @@ -8,10 +8,9 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.SneakyThrows; import org.apache.commons.io.IOUtils; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mock.web.MockHttpServletRequest; @@ -23,15 +22,13 @@ import at.gv.egiz.pdfas.web.stats.StatisticEvent.Operation; import at.gv.egiz.pdfas.web.stats.StatisticEvent.Source; import org.springframework.mock.web.MockServletConfig; import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.junit4.SpringRunner; //@Ignore -@RunWith(SpringRunner.class) @SpringBootTest -public class SimpleSignServletTest { +class SimpleSignServletTest { - @BeforeClass + @BeforeAll public static void classInitializer() throws IOException { final String current = new java.io.File(".").getCanonicalPath(); System.setProperty("pdf-as-web.conf", @@ -39,7 +36,7 @@ public class SimpleSignServletTest { } - @Before + @BeforeEach @SneakyThrows public void setup() { servlet.init( diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/servlets/SimpleVerifyServletTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/servlets/SimpleVerifyServletTest.java index b9d7c152..64ab9153 100644 --- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/servlets/SimpleVerifyServletTest.java +++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/servlets/SimpleVerifyServletTest.java @@ -5,9 +5,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import java.io.IOException; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.Enumeration; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @@ -15,10 +13,7 @@ import jakarta.servlet.http.HttpServletResponse; import lombok.val; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mock.web.MockHttpServletRequest; @@ -31,21 +26,19 @@ import at.gv.egiz.pdfas.web.stats.StatisticEvent.Source; import lombok.SneakyThrows; import org.springframework.mock.web.MockServletConfig; import org.springframework.mock.web.MockServletContext; -import org.springframework.test.context.junit4.SpringRunner; -@RunWith(SpringRunner.class) @SpringBootTest -public class SimpleVerifyServletTest { +class SimpleVerifyServletTest { - @BeforeClass + @BeforeAll public static void classInitializer() throws IOException { final String current = new java.io.File(".").getCanonicalPath(); System.setProperty("pdf-as-web.conf", current + "/src/test/resources/config/pdfas/pdf-as-web.properties"); } - @Before + @BeforeEach @SneakyThrows public void setup() { servlet.init( @@ -92,10 +85,10 @@ public class SimpleVerifyServletTest { performTest(httpReq, httpResp, pdf); //validate state - assertNotNull("httpResp", httpResp); - assertEquals("httpStatus", 200, httpResp.getStatus()); + Assertions.assertNotNull(httpResp, "httpResp"); + Assertions.assertEquals(200, httpResp.getStatus(), "httpStatus"); String body = httpResp.getContentAsString(); - assertFalse("Empty body", StringUtils.isEmpty(body)); + Assertions.assertFalse(StringUtils.isEmpty(body), "Empty body"); return httpResp; diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonApiTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonApiTest.java index cfb0a375..18eff611 100644 --- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonApiTest.java +++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonApiTest.java @@ -2,22 +2,20 @@ package at.gv.egiz.pdfas.web.test; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.junit.Assert.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; -import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Assertions; +import tools.jackson.databind.json.JsonMapper; import com.jayway.jsonpath.JsonPath; import lombok.Lombok; import lombok.SneakyThrows; import lombok.val; import org.apache.commons.io.IOUtils; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.http.MediaType; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import java.io.File; @@ -26,7 +24,6 @@ import java.util.Base64; import java.util.Map; import java.util.UUID; -@RunWith(SpringRunner.class) @SpringBootTest(properties = { "management.endpoint.metrics.enabled=true", "management.endpoints.web.exposure.include=metrics" @@ -34,7 +31,7 @@ import java.util.UUID; @AutoConfigureMockMvc public class JsonApiTest extends TestUtils.CanWatchOperationCount { @Autowired MockMvc mvc; - @Autowired ObjectMapper om; + @Autowired JsonMapper om; static { try { @@ -78,8 +75,9 @@ public class JsonApiTest extends TestUtils.CanWatchOperationCount { .andReturn().getResponse().getContentAsString(); final byte[] signedPDF = Base64.getDecoder().decode(JsonPath.<String>read(signResponse, "$.signedPDF")); - assertArrayEquals("Signed data looks PDF-ish (%PDF- header)", - new byte[]{'%', 'P', 'D', 'F', '-'}, Arrays.copyOfRange(signedPDF, 0, 5)); + Assertions.assertArrayEquals( + new byte[]{'%', 'P', 'D', 'F', '-'}, Arrays.copyOfRange(signedPDF, 0, 5), + "Signed data looks PDF-ish (%PDF- header)"); } } diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonSoapParameterNamingTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonSoapParameterNamingTest.java index cd775eda..36aa85c3 100644 --- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonSoapParameterNamingTest.java +++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/JsonSoapParameterNamingTest.java @@ -13,18 +13,16 @@ import at.gv.egiz.pdfas.api.ws.PdfasSignMultipleRequest; import at.gv.egiz.pdfas.api.ws.PdfasSignMultipleResponse; import at.gv.egiz.pdfas.api.ws.PdfasSignedDocument; import at.gv.egiz.pdfas.api.ws.VerificationLevel; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.json.JsonMapper; import java.io.File; import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.List; import lombok.Lombok; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; /** * Verifies that the JSON API wire names match the SOAP/JAXB wire names. @@ -34,16 +32,15 @@ import org.springframework.test.context.junit4.SpringRunner; * {@code invoke-url}, {@code preprocessorArguments}, {@code configurationOverrides}, and {@code documents}. * * <p>Expected current-state behavior: this test fails until the SOAP DTOs either carry explicit Jackson - * annotations or the web ObjectMapper is configured to honor JAXB annotations for JSON naming. Keep old JSON + * annotations or the web JsonMapper is configured to honor JAXB annotations for JSON naming. Keep old JSON * names as aliases when implementing the fix so existing clients remain compatible. */ -@RunWith(SpringRunner.class) @SpringBootTest(properties = { "management.endpoint.metrics.enabled=true", "management.endpoints.web.exposure.include=metrics" }) public class JsonSoapParameterNamingTest { - @Autowired ObjectMapper om; + @Autowired JsonMapper om; static { try { diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/MockMoaSigningTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/MockMoaSigningTest.java index 46b0e405..e6bfa4c6 100644 --- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/MockMoaSigningTest.java +++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/MockMoaSigningTest.java @@ -7,7 +7,8 @@ import at.gv.egiz.pdfas.sigs.pades.PAdESSignerKeystore; import at.gv.egiz.pdfas.web.config.PdfAsWebSpringConfiguration; import at.gv.egiz.pdfas.web.config.WebConfiguration; import at.gv.egiz.pdfas.web.helper.PdfAsHelper; -import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.BeforeAll; +import tools.jackson.databind.json.JsonMapper; import com.jayway.jsonpath.JsonPath; import iaik.x509.X509Certificate; import jakarta.jws.WebService; @@ -16,15 +17,12 @@ import lombok.Lombok; import lombok.SneakyThrows; import lombok.val; import org.apache.commons.io.IOUtils; -import org.junit.BeforeClass; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Assertions; -import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.http.MediaType; -import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import java.io.*; @@ -33,11 +31,9 @@ import java.security.KeyStore; import java.security.PrivateKey; import java.util.*; -import static org.junit.Assert.assertArrayEquals; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; -@RunWith(SpringRunner.class) @SpringBootTest(properties = { "management.endpoint.metrics.enabled=true", "management.endpoints.web.exposure.include=metrics" @@ -45,7 +41,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. @AutoConfigureMockMvc public class MockMoaSigningTest extends TestUtils.CanWatchOperationCount { @Autowired MockMvc mvc; - @Autowired ObjectMapper om; + @Autowired JsonMapper om; @Autowired PdfAsWebSpringConfiguration config; static { @@ -57,7 +53,7 @@ public class MockMoaSigningTest extends TestUtils.CanWatchOperationCount { } } - @BeforeClass + @BeforeAll public static void jceWorkaround() { System.setProperty("javax.net.ssl.trustStoreType", "JKS"); } @@ -207,8 +203,9 @@ public class MockMoaSigningTest extends TestUtils.CanWatchOperationCount { .andReturn().getResponse().getContentAsString(); final byte[] signedPDF = Base64.getDecoder().decode(JsonPath.<String>read(signResponse, "$.signedPDF")); - assertArrayEquals("Signed data looks PDF-ish (%PDF- header)", - new byte[]{'%', 'P', 'D', 'F', '-'}, Arrays.copyOfRange(signedPDF, 0, 5)); + Assertions.assertArrayEquals( + new byte[]{'%', 'P', 'D', 'F', '-'}, Arrays.copyOfRange(signedPDF, 0, 5), + "Signed data looks PDF-ish (%PDF- header)"); } } diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java index 9c65fe0d..9319f8cf 100644 --- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java +++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java @@ -8,13 +8,11 @@ import java.net.URL; import java.util.UUID; import at.gv.egiz.pdfas.api.ws.PDFASSigning; -import at.gv.egiz.pdfas.web.servlets.SimpleVerifyServletTest; import jakarta.xml.ws.Service; import lombok.val; import org.apache.commons.io.IOUtils; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import at.gv.egiz.pdfas.api.ws.PDFASSignParameters; import at.gv.egiz.pdfas.api.ws.PDFASSignParameters.Connector; @@ -23,22 +21,20 @@ import at.gv.egiz.pdfas.api.ws.PDFASSignResponse; import lombok.SneakyThrows; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; -import org.springframework.test.context.junit4.SpringRunner; import javax.xml.namespace.QName; -@RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -public class SimpleWebServiceTest { +class SimpleWebServiceTest { - @BeforeClass + @BeforeAll public static void classInitializer() throws IOException { final String current = new java.io.File(".").getCanonicalPath(); System.setProperty("pdf-as-web.conf", current + "/src/test/resources/config/pdfas/pdf-as-web.properties"); } - @BeforeClass + @BeforeAll public static void jceWorkaround() { System.setProperty("javax.net.ssl.trustStoreType", "JKS"); } @@ -49,7 +45,7 @@ public class SimpleWebServiceTest { @Test @SneakyThrows public void sign() { - byte[] pdf = IOUtils.toByteArray(SimpleVerifyServletTest.class.getResourceAsStream("/data/enc_own.pdf")); + byte[] pdf = IOUtils.toByteArray(SimpleWebServiceTest.class.getResourceAsStream("/data/enc_own.pdf")); PDFASSignResponse resp = executeTest(pdf); assertNotNull("signed doc", resp.getSignedPDF()); assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode()); @@ -60,7 +56,7 @@ public class SimpleWebServiceTest { @Test @SneakyThrows public void withSignatureFields() { - byte[] pdf = IOUtils.toByteArray(SimpleVerifyServletTest.class.getResourceAsStream("/data/placeholder_sigfield_and_qr.pdf")); + byte[] pdf = IOUtils.toByteArray(SimpleWebServiceTest.class.getResourceAsStream("/data/placeholder_sigfield_and_qr.pdf")); PDFASSignResponse resp = executeTest(pdf); assertNotNull("signed doc", resp.getSignedPDF()); assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode()); diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceWithoutVerificationTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceWithoutVerificationTest.java index cd2ba077..0fb3f3af 100644 --- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceWithoutVerificationTest.java +++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceWithoutVerificationTest.java @@ -8,13 +8,11 @@ import java.net.URL; import java.util.UUID; import at.gv.egiz.pdfas.api.ws.PDFASSigning; -import at.gv.egiz.pdfas.web.servlets.SimpleVerifyServletTest; import jakarta.xml.ws.Service; import lombok.val; import org.apache.commons.io.IOUtils; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.runner.RunWith; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import at.gv.egiz.pdfas.api.ws.PDFASSignParameters; import at.gv.egiz.pdfas.api.ws.PDFASSignParameters.Connector; @@ -23,22 +21,20 @@ import at.gv.egiz.pdfas.api.ws.PDFASSignResponse; import lombok.SneakyThrows; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; -import org.springframework.test.context.junit4.SpringRunner; import javax.xml.namespace.QName; -@RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -public class SimpleWebServiceWithoutVerificationTest { +class SimpleWebServiceWithoutVerificationTest { - @BeforeClass + @BeforeAll public static void classInitializer() throws IOException { final String current = new java.io.File(".").getCanonicalPath(); System.setProperty("pdf-as-web.conf", current + "/src/test/resources/config/pdfas/pdf-as-web-verify-disabled.properties"); } - @BeforeClass + @BeforeAll public static void jceWorkaround() { System.setProperty("javax.net.ssl.trustStoreType", "JKS"); } @@ -49,7 +45,7 @@ public class SimpleWebServiceWithoutVerificationTest { @Test @SneakyThrows public void sign() { - byte[] pdf = IOUtils.toByteArray(SimpleVerifyServletTest.class.getResourceAsStream("/data/enc_own.pdf")); + byte[] pdf = IOUtils.toByteArray(SimpleWebServiceWithoutVerificationTest.class.getResourceAsStream("/data/enc_own.pdf")); PDFASSignResponse resp = executeTest(pdf); assertNotNull("signed doc", resp.getSignedPDF()); assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode()); @@ -60,7 +56,7 @@ public class SimpleWebServiceWithoutVerificationTest { @Test @SneakyThrows public void withSignatureFields() { - byte[] pdf = IOUtils.toByteArray(SimpleVerifyServletTest.class.getResourceAsStream("/data/placeholder_sigfield_and_qr.pdf")); + byte[] pdf = IOUtils.toByteArray(SimpleWebServiceWithoutVerificationTest.class.getResourceAsStream("/data/placeholder_sigfield_and_qr.pdf")); PDFASSignResponse resp = executeTest(pdf); assertNotNull("signed doc", resp.getSignedPDF()); assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode()); diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/TestUtils.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/TestUtils.java index f6196ca9..900b1f82 100644 --- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/TestUtils.java +++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/TestUtils.java @@ -4,11 +4,11 @@ import at.gv.egiz.pdfas.web.stats.impl.StatisticMicrometerBackend; import com.jayway.jsonpath.JsonPath; import io.micrometer.core.instrument.MeterRegistry; import lombok.val; -import org.junit.Assert; -import org.junit.Before; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.webmvc.test.autoconfigure.AutoConfigureMockMvc; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; @@ -22,7 +22,7 @@ public class TestUtils { val result = mvc.perform(builder).andReturn().getResponse(); if (result.getStatus() == 404) return 0.0; - Assert.assertEquals(200, result.getStatus()); + Assertions.assertEquals(200, result.getStatus()); return JsonPath.<List<Double>>read( result.getContentAsString(), "$.measurements[?(@.statistic == 'COUNT')].value") @@ -34,13 +34,13 @@ public class TestUtils { public static abstract class CanWatchOperationCount { @Autowired MockMvc mvc; @Autowired private MeterRegistry meterRegistry; - @Before + @BeforeEach public void rebindStatisticsBackend() { StatisticMicrometerBackend.SpringContextProxy.meterRegistry = meterRegistry; } protected AutoCloseable OperationCountWatcher(String... tags) throws Exception { val initialCount = TestUtils.getOperationCount(mvc, tags); - return () -> Assert.assertEquals(initialCount+1.0, TestUtils.getOperationCount(mvc, tags), 0.0001); + return () -> Assertions.assertEquals(initialCount+1.0, TestUtils.getOperationCount(mvc, tags), 0.0001); } } } |
