package test.at.gv.egovernment.moa.spss.api.xmlbind; import java.util.List; import org.w3c.dom.Element; import test.at.gv.egovernment.moa.spss.SPSSTestCase; import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform; import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform; import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform; import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; import at.gv.egovernment.moa.spss.api.common.XPathTransform; import at.gv.egovernment.moa.spss.api.common.XSLTTransform; import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser; /** * Test the TransformParser. * * @author Patrick Peck * @version $Id$ */ public class TransformParserTest extends SPSSTestCase { private static String TESTDATA_BASE = TESTDATA_ROOT + "xml/dsigTransform/"; private TransformParser transformParser; public TransformParserTest(String name) { super(name); } protected void setUp() { transformParser = new TransformParser(); } public void testParseTransforms() throws Exception { Element transformsElem = parseXml(TESTDATA_BASE + "transforms.xml").getDocumentElement(); List transforms = transformParser.parseTransforms(transformsElem); assertNotNull(transforms); assertEquals(3, transforms.size()); } public void testParseCanonicalizationTransform() throws Exception { Element transformElem = parseXml(TESTDATA_BASE + "canonicalization.xml").getDocumentElement(); CanonicalizationTransform transform = (CanonicalizationTransform) transformParser.parseTransform(transformElem); assertNotNull(transform); assertEquals( CanonicalizationTransform.CANONICAL_XML, transform.getAlgorithmURI()); } public void testParseExclCanonicalizationTransform() throws Exception { Element transformElem = parseXml(TESTDATA_BASE + "exclusiveCanonicalization.xml") .getDocumentElement(); ExclusiveCanonicalizationTransform transform = (ExclusiveCanonicalizationTransform) transformParser.parseTransform( transformElem); assertNotNull(transform); assertEquals( ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML, transform.getAlgorithmURI()); assertEquals(3, transform.getInclusiveNamespacePrefixes().size()); } public void testParseEnvelopedTransform() throws Exception { Element transformElem = parseXml(TESTDATA_BASE + "enveloped.xml").getDocumentElement(); EnvelopedSignatureTransform transform = (EnvelopedSignatureTransform) transformParser.parseTransform( transformElem); assertNotNull(transform); } public void testParseXPathTransform() throws Exception { Element transformElem = parseXml(TESTDATA_BASE + "xpath.xml").getDocumentElement(); XPathTransform transform = (XPathTransform) transformParser.parseTransform(transformElem); assertNotNull(transform); assertEquals("//ToBeSigned/Data", transform.getXPathExpression()); assertEquals(1, transform.getNamespaceDeclarations().size()); } public void testParseXPathFilter2Transform() throws Exception { Element transformElem = parseXml(TESTDATA_BASE + "xpath2.xml").getDocumentElement(); XPathFilter2Transform transform = (XPathFilter2Transform) transformParser.parseTransform(transformElem); assertNotNull(transform); assertEquals(3, transform.getFilters().size()); } public void testParseXSLTTransform() throws Exception { Element transformElem = parseXml(TESTDATA_BASE + "xslt.xml").getDocumentElement(); XSLTTransform transform = (XSLTTransform) transformParser.parseTransform(transformElem); assertNotNull(transform); } }