diff options
| author | Thomas <> | 2024-09-05 11:14:47 +0200 |
|---|---|---|
| committer | Thomas <> | 2024-09-05 11:14:47 +0200 |
| commit | 5801583c6f0277cc2ab89c2358f14a07cb01cc73 (patch) | |
| tree | 69660552f192c8e8fb4b50376d53dbf5ac4b8963 | |
| parent | c41de4233fbd032b2490385d8701d105d37cb3a3 (diff) | |
| download | pdf-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.java | 1 | ||||
| -rw-r--r-- | pdf-as-web/src/test/java/at/gv/egiz/pdfas/web/test/SimpleWebServiceTest.java | 90 |
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; + + } +} |
