From db52e4d66d60184d53a27ba4d6772461daacc03d Mon Sep 17 00:00:00 2001 From: tknall Date: Fri, 22 Mar 2013 08:57:51 +0000 Subject: Maintenance update (bugfixes, new features, cleanup...) Refer to /dok/RELEASE_NOTES-3.3.txt for further information. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/pdf-as/trunk@931 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../SignatureLayoutHandlerFactoryTests.java | 131 +++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 pdf-as-lib/src/test/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactoryTests.java (limited to 'pdf-as-lib/src/test/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactoryTests.java') diff --git a/pdf-as-lib/src/test/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactoryTests.java b/pdf-as-lib/src/test/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactoryTests.java new file mode 100644 index 0000000..45572bd --- /dev/null +++ b/pdf-as-lib/src/test/java/at/knowcenter/wag/egov/egiz/sig/signaturelayout/SignatureLayoutHandlerFactoryTests.java @@ -0,0 +1,131 @@ +package at.knowcenter.wag.egov.egiz.sig.signaturelayout; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.io.File; + +import org.junit.BeforeClass; +import org.junit.Test; + +import at.gv.egiz.pdfas.PdfAsFactory; +import at.gv.egiz.pdfas.api.exceptions.PdfAsException; +import at.knowcenter.wag.egov.egiz.exceptions.ConnectorException; +import at.knowcenter.wag.egov.egiz.exceptions.SettingsException; +import at.knowcenter.wag.egov.egiz.sig.signaturelayout.atrust.ATrustSignatureLayoutHandler; +import at.knowcenter.wag.egov.egiz.sig.signaturelayout.mocca.MOCCASignatureLayout10Handler; +import at.knowcenter.wag.egov.egiz.sig.signaturelayout.mocca.MoccaXades14SignatureLayoutHandler; +import at.knowcenter.wag.egov.egiz.sig.signaturelayout.mocca.OldMOCCASignatureLayoutHandler; + +/** + * Tests for {@link SignatureLayoutHandlerFactory} providing signature layout handlers for various types of citizen card + * software. + * + * @author Datentechnik Innovation GmbH + */ +public class SignatureLayoutHandlerFactoryTests { + + /** + * Instantiates the PDF-AS api which will be used for tests. + * + * @throws PdfAsException + * In case the PDF-AS api could not be instantiated (e.g. due to configuration issues). + */ + @BeforeClass + public static void init() throws PdfAsException { + + // determine config dir + File configFile = new File(SignatureLayoutHandlerFactoryTests.class.getResource( + "/at/knowcenter/wag/egov/egiz/signaturelayout/cfg/config.properties").getFile()); + assertTrue(configFile.exists() && configFile.canRead()); + + // determine work dir + File workPath = configFile.getParentFile().getParentFile(); + + // Note: calculating signature positions without applying signatures is not covered by the api interface. + // Therefore we instantiate the api only in order to get the configuration be loaded. + PdfAsFactory.createPdfAs(workPath); + } + + @Test + public void testSupportForMoccaWithXAdES14() throws ConnectorException, SettingsException { + String bkuIdentifier = "citizen-card-environment/1.2 MOCCA/1.3.9-SNAPSHOT-r1159-X14 SignatureLayout/1.0"; + SignatureLayoutHandler signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof MoccaXades14SignatureLayoutHandler); + + bkuIdentifier = "citizen-card-environment/1.2 MOCCA/1.3.9-r1234-X14 SignatureLayout/1.0"; + signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof MoccaXades14SignatureLayoutHandler); + + bkuIdentifier = "citizen-card-environment/1.2 MOCCA/1.3.9-SNAPSHOT-r1159-X14 SignatureLayout/1.1"; + signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof MoccaXades14SignatureLayoutHandler); + + bkuIdentifier = "citizen-card-environment/1.2 MOCCA/1.3.9-r1234-X14 SignatureLayout/1.1"; + signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof MoccaXades14SignatureLayoutHandler); + } + + @Test + public void testSupportForMoccaWithSignatureLayout10() throws ConnectorException, SettingsException { + String bkuIdentifier = "citizen-card-environment/1.2 MOCCA/1.3.8-r1111 SignatureLayout/1.0"; + SignatureLayoutHandler signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof MOCCASignatureLayout10Handler); + + bkuIdentifier = "citizen-card-environment/1.2 MOCCA/1.3.8-r1111 SignatureLayout/1.1"; + try { + SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + fail("ConnectorException expected; SignatureLayout 1.1 not supported."); + } catch (ConnectorException e) { + assertEquals(373, e.getErrorCode()); + } + } + + @Test + public void testSupportForMoccaWithLegacySignatureLayout() throws ConnectorException, SettingsException { + String bkuIdentifier = "citizen-card-environment/1.2 MOCCA/1.0.0-r123"; + SignatureLayoutHandler signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof OldMOCCASignatureLayoutHandler); + } + + @Test + public void testSupportForATrustLocal133() throws ConnectorException, SettingsException { + String bkuIdentifier = "citizen-card-environment/1.2 asignSecurityLayer/1.3.3"; + SignatureLayoutHandler signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof ATrustSignatureLayoutHandler); + } + + @Test + public void testNonSupportForATrustLocal140() throws ConnectorException, SettingsException { + String bkuIdentifier = "citizen-card-environment/1.2 asignSecurityLayer/1.4.0"; + try { + SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + fail("ConnectorException expected; A.Trust BKU 1.4.0 not supported."); + } catch (ConnectorException e) { + assertEquals(373, e.getErrorCode()); + } + } + + @Test + public void testSupportForATrustLocal141() throws ConnectorException, SettingsException { + String bkuIdentifier = "citizen-card-environment/1.2 asignSecurityLayer/1.4.1"; + SignatureLayoutHandler signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof ATrustSignatureLayoutHandler); + } + + @Test + public void testSupportForATrustLocal142() throws ConnectorException, SettingsException { + String bkuIdentifier = "citizen-card-environment/1.2 asignSecurityLayer/1.4.2"; + SignatureLayoutHandler signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof ATrustSignatureLayoutHandler); + } + + @Test + public void testSupportForATrustMobile110() throws ConnectorException, SettingsException { + String bkuIdentifier = "citizen-card-environment/1.2 asignMobileBku/1.1.0"; + SignatureLayoutHandler signatureLayoutHandler = SignatureLayoutHandlerFactory.getSignatureLayoutHandlerInstance(bkuIdentifier); + assertTrue(signatureLayoutHandler instanceof ATrustSignatureLayoutHandler); + } + +} -- cgit v1.2.3