package test.at.gv.egovernment.moa.spss.api.xmlbind; import org.w3c.dom.Element; import test.at.gv.egovernment.moa.spss.SPSSTestCase; import at.gv.egovernment.moa.util.DateTimeUtils; 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; /** * 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; assertNotNull(request); assertEquals( DateTimeUtils.parseDateTime("2003-04-01T12:53:57+01:00"), request.getDateTime()); assertFalse(request.getReturnHashInputData()); assertEquals("TrustProfile1", request.getTrustProfileId()); verifySignatureInfo = request.getSignatureInfo(); assertNotNull(verifySignatureInfo); assertNotNull(verifySignatureInfo.getVerifySignatureEnvironment()); verifyLocation = verifySignatureInfo.getVerifySignatureLocation(); assertNotNull(verifyLocation); assertEquals("//dsig:Signature", verifyLocation.getXPathExpression()); assertEquals(3, verifyLocation.getNamespaceDeclarations().size()); checkParams = request.getSignatureManifestCheckParams(); assertNotNull(checkParams); assertEquals(true, checkParams.getReturnReferenceInputData()); assertEquals(1, checkParams.getReferenceInfos().size()); refInfo = (ReferenceInfo) checkParams.getReferenceInfos().get(0); assertEquals(1, refInfo.getVerifyTransformsInfoProfiles().size()); transformsProfile = (VerifyTransformsInfoProfileExplicit) refInfo .getVerifyTransformsInfoProfiles() .get(0); assertEquals(1, transformsProfile.getTransforms().size()); assertEquals(1, transformsProfile.getTransformParameters().size()); } }