/* * Copyright 2003 Federal Chancellery Austria * MOA-SPSS has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. */ package test.at.gv.egovernment.moa.spss.api.xmlbind; import org.junit.Assert; import org.w3c.dom.Element; import test.at.gv.egovernment.moa.spss.SPSSTestCase; import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit; import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; import at.gv.egovernment.moaspss.util.DateTimeUtils; /** * Test the VerifyXMLSignatureRequestParserTest. * * @author Patrick Peck * @version $Id$ */ public class VerifyXMLSignatureRequestParserTest extends SPSSTestCase { private static String TESTDATA_BASE = TESTDATA_ROOT + "xml/VerifyXMLSignature/"; private VerifyXMLSignatureRequestParser parser; public VerifyXMLSignatureRequestParserTest(String name) { super(name); } protected void setUp() throws Exception { parser = new VerifyXMLSignatureRequestParser(); } public void testParse() throws Exception { Element requestElem = parseXml(TESTDATA_BASE + "TestGeneratorVX.201.Req.xml") .getDocumentElement(); VerifyXMLSignatureRequest request = parser.parse(requestElem); VerifySignatureInfo verifySignatureInfo; VerifySignatureLocation verifyLocation; SignatureManifestCheckParams checkParams; ReferenceInfo refInfo; VerifyTransformsInfoProfileExplicit transformsProfile; Assert.assertNotNull(request); Assert.assertEquals( DateTimeUtils.parseDateTime("2003-04-01T12:53:57+01:00"), request.getDateTime()); Assert.assertFalse(request.getReturnHashInputData()); Assert.assertEquals("TrustProfile1", request.getTrustProfileId()); verifySignatureInfo = request.getSignatureInfo(); Assert.assertNotNull(verifySignatureInfo); Assert.assertNotNull(verifySignatureInfo.getVerifySignatureEnvironment()); verifyLocation = verifySignatureInfo.getVerifySignatureLocation(); Assert.assertNotNull(verifyLocation); Assert.assertEquals("//dsig:Signature", verifyLocation.getXPathExpression()); Assert.assertEquals(3, verifyLocation.getNamespaceDeclarations().size()); checkParams = request.getSignatureManifestCheckParams(); Assert.assertNotNull(checkParams); Assert.assertEquals(true, checkParams.getReturnReferenceInputData()); Assert.assertEquals(1, checkParams.getReferenceInfos().size()); refInfo = (ReferenceInfo) checkParams.getReferenceInfos().get(0); Assert.assertEquals(1, refInfo.getVerifyTransformsInfoProfiles().size()); transformsProfile = (VerifyTransformsInfoProfileExplicit) refInfo .getVerifyTransformsInfoProfiles() .get(0); Assert.assertEquals(1, transformsProfile.getTransforms().size()); Assert.assertEquals(1, transformsProfile.getTransformParameters().size()); } }