aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas <>2024-09-05 11:14:47 +0200
committerThomas <>2024-09-05 11:14:47 +0200
commit5801583c6f0277cc2ab89c2358f14a07cb01cc73 (patch)
tree69660552f192c8e8fb4b50376d53dbf5ac4b8963
parentc41de4233fbd032b2490385d8701d105d37cb3a3 (diff)
downloadpdf-as-4-5801583c6f0277cc2ab89c2358f14a07cb01cc73.tar.gz
pdf-as-4-5801583c6f0277cc2ab89c2358f14a07cb01cc73.tar.bz2
pdf-as-4-5801583c6f0277cc2ab89c2358f14a07cb01cc73.zip
test(web): add simple Web-Service signing with differend documents
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java1
-rw-r--r--pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java90
2 files changed, 90 insertions, 1 deletions
diff --git a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java
index a041f102..046a1203 100644
--- a/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleVerifyServletTest.java
@@ -36,7 +36,6 @@ import at.gv.egiz.pdfas.web.stats.StatisticEvent.Operation;
import at.gv.egiz.pdfas.web.stats.StatisticEvent.Source;
import lombok.SneakyThrows;
-//@Ignore
@RunWith(BlockJUnit4ClassRunner.class)
public class SimpleVerifyServletTest {
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
new file mode 100644
index 00000000..0f5948fa
--- /dev/null
+++ b/pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java
@@ -0,0 +1,90 @@
+package at.gv.egiz.pdfas.web.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.util.UUID;
+
+import org.apache.commons.io.IOUtils;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.BlockJUnit4ClassRunner;
+
+import at.gv.egiz.pdfas.api.ws.PDFASSignParameters;
+import at.gv.egiz.pdfas.api.ws.PDFASSignParameters.Connector;
+import at.gv.egiz.pdfas.api.ws.PDFASSignRequest;
+import at.gv.egiz.pdfas.api.ws.PDFASSignResponse;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsSettingsValidationException;
+import at.gv.egiz.pdfas.common.settings.ISettings;
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
+import at.gv.egiz.pdfas.web.config.WebConfiguration;
+import at.gv.egiz.pdfas.web.helper.PdfAsHelper;
+import at.gv.egiz.pdfas.web.ws.PDFASSigningImpl;
+import lombok.SneakyThrows;
+
+@RunWith(BlockJUnit4ClassRunner.class)
+public class SimpleWebServiceTest {
+
+ @BeforeClass
+ 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");
+
+ String webconfig = System.getProperty("pdf-as-web.conf");
+
+ if(webconfig == null) {
+ throw new RuntimeException("No web configuration provided!");
+ }
+
+ WebConfiguration.configure(webconfig);
+ PdfAsHelper.init();
+
+ try {
+ PdfAsFactory.validateConfiguration((ISettings)PdfAsHelper.getPdfAsConfig());
+
+ } catch (PdfAsSettingsValidationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ @SneakyThrows
+ public void sign() {
+ byte[] pdf = IOUtils.toByteArray(SimpleVerifyServletTest.class.getResourceAsStream("/data/enc_own.pdf"));
+ PDFASSignResponse resp = executeTest(pdf);
+ assertNotNull("signed doc", resp.getSignedPDF());
+ assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode());
+
+ }
+
+ @Test
+ @SneakyThrows
+ public void withSignatureFields() {
+ byte[] pdf = IOUtils.toByteArray(SimpleVerifyServletTest.class.getResourceAsStream("/data/placeholder_sigfield_and_qr.pdf"));
+ PDFASSignResponse resp = executeTest(pdf);
+ assertNotNull("signed doc", resp.getSignedPDF());
+ assertEquals("sign check", 0, resp.getVerificationResponse().getValueCode());
+
+ }
+
+ @SneakyThrows
+ private PDFASSignResponse executeTest(byte[] pdf) {
+ PDFASSigningImpl service = new PDFASSigningImpl();
+
+ PDFASSignRequest req = new PDFASSignRequest();
+ req.setRequestID(UUID.randomUUID().toString());
+ req.setInputData(pdf);
+ PDFASSignParameters signParams = new PDFASSignParameters();
+ signParams.setConnector(Connector.JKS);
+ signParams.setTransactionId(UUID.randomUUID().toString());
+ req.setParameters(signParams );
+
+ PDFASSignResponse resp = service.signPDFDokument(req);
+ assertNotNull(resp);
+ return resp;
+
+ }
+}