From 252703c09a6ab591382d443cda5e7a910ff1d584 Mon Sep 17 00:00:00 2001 From: Alexander Marsalek Date: Fri, 25 Jun 2021 09:12:35 +0200 Subject: test for issue #47 --- .../pdfas/cli/test/SignaturBlockParameterTest.java | 36 ++++++++++++++++++++++ ...OTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.properties | 16 ++++++++++ 2 files changed, 52 insertions(+) create mode 100644 pdf-as-cli/src/test/resources/pdfas-config/cfg/profiles/SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.properties (limited to 'pdf-as-cli') diff --git a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturBlockParameterTest.java b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturBlockParameterTest.java index 5689b080..f723a6c1 100644 --- a/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturBlockParameterTest.java +++ b/pdf-as-cli/src/test/java/at/gv/egiz/pdfas/cli/test/SignaturBlockParameterTest.java @@ -231,6 +231,42 @@ public class SignaturBlockParameterTest { //expected: but was: } + + @Test + public void testWithTextAfterVariable() throws IOException, PDFASError, PdfAsException { + + PdfAs pdfas = PdfAsFactory.createPdfAs(new File(getPath("pdfas-config"))); + Configuration config = pdfas.getConfiguration(); + + + byte[] input = IOUtils.toByteArray(new FileInputStream(getPath("simple_rotated_0.pdf"))); + + IPlainSigner signer = new PAdESSignerKeystore(getPath("test.p12"), KS_ALIAS, KS_PASS, KS_KEY_PASS, KS_TYPE); + + String profile = "SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE"; + System.out.println("Testing " + profile); + + DataSource source = new ByteArrayDataSource(input); + String outFile = getPath("out") + "/" + profile + "-umlaute.pdf"; + FileOutputStream fos = new FileOutputStream(outFile); + SignParameter signParameter = PdfAsFactory.createSignParameter( + config, source, fos); + + Map map = new HashMap<>(); + map.put("subject", "TEST123"); + map.put("foo", "baräöÜ"); + signParameter.setDynamicSignatureBlockArguments(map); + signParameter.setPlainSigner(signer); + signParameter.setSignatureProfileId(profile); + + SignResult result = pdfas.sign(signParameter); + + fos.close(); + String name = getName(outFile, "PDF-AS Signatur1"); + Assert.assertEquals("Andreas Fitzek ECC text after variable", name); + //expected: but was: + } + private String getName(String fileName, String sigFieldName) throws IOException { PDDocument pdDoc = PDDocument.load(new File(fileName)); PDSignature signature = null; diff --git a/pdf-as-cli/src/test/resources/pdfas-config/cfg/profiles/SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.properties b/pdf-as-cli/src/test/resources/pdfas-config/cfg/profiles/SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.properties new file mode 100644 index 00000000..bf904b1c --- /dev/null +++ b/pdf-as-cli/src/test/resources/pdfas-config/cfg/profiles/SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.properties @@ -0,0 +1,16 @@ +################################################################################################### +# PROFIL: Standardsignatur Deutsch, mit Hinweistext + +sig_obj.SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.description=Standardsignatur Deutsch, mit Hinweistext +sig_obj.SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.parent=BASE_NORMAL_NOTE +sig_obj.types.SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE=on + + +sig_obj.SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.value.SIG_SUBJECT=${subject.T != null ? (subject.T + " ") : ""}${subject.CN} text after variable +sig_obj.SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.value.SIG_ISSUER=${issuer.T != null ? (issuer.T + " ") : ""}${issuer.CN} +sig_obj.SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.value.SIG_NUMBER=${sn} +sig_obj.SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.value.SIG_META=Informationen zur Pr\u00FCfung der \ + elektronischen Signatur finden Sie unter: https://www.signaturpruefung.gv.at + +#---------------------- INFO TABLE ------------------------- +sig_obj.SIGNATURBLOCK_DE_NOTE_DYNAMIC_WITH_TEXT_AFTER_VARIABLE.table.info.ColsWidth=1 5 \ No newline at end of file -- cgit v1.2.3