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.spss.api.xmlbind.CreateXMLSignatureRequestParser; import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit; import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit; import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; /** * Test the CreateXMLSignatureRequestParser. * * @author Patrick Peck * @version $Id$ */ public class CreateXMLSignatureRequestParserTest extends SPSSTestCase { private static final String TESTDATA_BASE = TESTDATA_ROOT + "xml/CreateXMLSignature/"; private CreateXMLSignatureRequestParser requestParser; public CreateXMLSignatureRequestParserTest(String name) { super(name); } protected void setUp() throws Exception { requestParser = new CreateXMLSignatureRequestParser(); } public void testParse() throws Exception { Element requestElem = parseXml(TESTDATA_BASE + "TestGeneratorCX2.001.Req.xml") .getDocumentElement(); CreateXMLSignatureRequest request = requestParser.parse(requestElem); SingleSignatureInfo sigInfo; DataObjectInfo dataObjInfo; CreateTransformsInfoProfileExplicit transProfile; CreateSignatureEnvironmentProfileExplicit envProfile; assertNotNull(request); assertEquals("PKCS12RSAKey1", request.getKeyIdentifier()); assertEquals(1, request.getSingleSignatureInfos().size()); sigInfo = (SingleSignatureInfo) request.getSingleSignatureInfos().get(0); assertEquals(1, sigInfo.getDataObjectInfos().size()); assertFalse(sigInfo.isSecurityLayerConform()); dataObjInfo = (DataObjectInfo) sigInfo.getDataObjectInfos().get(0); assertNotNull(dataObjInfo.getDataObject()); transProfile = (CreateTransformsInfoProfileExplicit) dataObjInfo .getCreateTransformsInfoProfile(); assertNotNull( transProfile.getCreateTransformsInfo().getFinalDataMetaInfo()); envProfile = (CreateSignatureEnvironmentProfileExplicit) sigInfo .getCreateSignatureInfo() .getCreateSignatureEnvironmentProfile(); assertEquals( "//data:Document", envProfile.getCreateSignatureLocation().getXPathExpression()); assertEquals(0, envProfile.getCreateSignatureLocation().getIndex()); } }