You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by mu...@apache.org on 2006/01/27 22:00:36 UTC

svn commit: r372984 [4/4] - in /xml/security/branches/jsr105_0_16/src_unitTests/javax: ./ xml/ xml/crypto/ xml/crypto/test/ xml/crypto/test/dsig/ xml/crypto/test/dsig/dom/ xml/crypto/test/dsig/keyinfo/

Added: xml/security/branches/jsr105_0_16/src_unitTests/javax/xml/crypto/test/dsig/keyinfo/X509DataTest.java
URL: http://svn.apache.org/viewcvs/xml/security/branches/jsr105_0_16/src_unitTests/javax/xml/crypto/test/dsig/keyinfo/X509DataTest.java?rev=372984&view=auto
==============================================================================
--- xml/security/branches/jsr105_0_16/src_unitTests/javax/xml/crypto/test/dsig/keyinfo/X509DataTest.java (added)
+++ xml/security/branches/jsr105_0_16/src_unitTests/javax/xml/crypto/test/dsig/keyinfo/X509DataTest.java Fri Jan 27 13:00:17 2006
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+/*
+ * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ */
+package javax.xml.crypto.test.dsig.keyinfo;
+
+import java.util.*;
+import java.security.cert.X509Certificate;
+import java.security.cert.X509CRL;
+import javax.xml.crypto.*;
+import javax.xml.crypto.dsig.*;
+import javax.xml.crypto.dom.*;
+import javax.xml.crypto.dsig.keyinfo.*;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import org.w3c.dom.Document;
+
+import junit.framework.*;
+
+/**
+ * Unit test for javax.xml.crypto.dsig.keyinfo.X509Data
+ *
+ * @version $Id$
+ * @author Valerie Peng
+ */
+public class X509DataTest extends TestCase {
+
+    private KeyInfoFactory fac;
+
+    public X509DataTest() {
+	super("X509DataTest");
+    }
+
+    public X509DataTest(String name) {
+	super(name);
+    }
+
+    public void setUp() throws Exception { 
+	fac = KeyInfoFactory.getInstance
+	    ("DOM", new org.jcp.xml.dsig.internal.dom.XMLDSigRI());
+    }
+
+    public void tearDown() { }
+
+    public void testgetTypes() {
+	X509Data x509 = fac.newX509Data(Collections.singletonList("cn=foo"));
+	List li = x509.getContent();
+	assertNotNull(li);
+	if (!li.isEmpty()) {
+	    Object[] content = li.toArray();
+	    for (int j=0; j<content.length; j++) {
+		if (!(content[j] instanceof String) &&
+		    !(content[j] instanceof byte[]) &&
+		    !(content[j] instanceof X509Certificate) &&
+		    !(content[j] instanceof X509CRL) &&
+		    !(content[j] instanceof XMLStructure)) {
+		    fail("X509 element has the wrong type");
+		};
+	    }
+	} else {
+	    li.add("any string");
+	    li.add(new byte[5]);
+	    //@@@@@li.add(X509Certificate);
+	    //@@@@@li.add(X509CRL);
+	    //@@@@@li.add(XMLStructure);
+	    try {
+		li.add(new Object());
+		fail("Added X509 element of wrong type");
+	    } catch (ClassCastException ex) {
+		// expected
+	    }
+	}
+    }
+
+    public void testConstructor() {
+	// test newX509Data()
+	X509Data x509 = fac.newX509Data(Collections.singletonList("cn=foo"));
+	assertNotNull(x509);
+    }
+
+    public void testisFeatureSupported() {
+
+	X509Data x509 = fac.newX509Data(Collections.singletonList("cn=foo"));
+	try {
+	    x509.isFeatureSupported(null); 
+	    fail("Should raise a NPE for null feature"); 
+	} catch (NullPointerException npe) {}
+	
+	assertTrue(!x509.isFeatureSupported("not supported"));
+    }
+}

Added: xml/security/branches/jsr105_0_16/src_unitTests/javax/xml/crypto/test/dsig/keyinfo/X509IssuerSerialTest.java
URL: http://svn.apache.org/viewcvs/xml/security/branches/jsr105_0_16/src_unitTests/javax/xml/crypto/test/dsig/keyinfo/X509IssuerSerialTest.java?rev=372984&view=auto
==============================================================================
--- xml/security/branches/jsr105_0_16/src_unitTests/javax/xml/crypto/test/dsig/keyinfo/X509IssuerSerialTest.java (added)
+++ xml/security/branches/jsr105_0_16/src_unitTests/javax/xml/crypto/test/dsig/keyinfo/X509IssuerSerialTest.java Fri Jan 27 13:00:17 2006
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package javax.xml.crypto.test.dsig.keyinfo;
+
+import java.util.List;
+import java.util.Arrays;
+import java.math.BigInteger;
+import java.security.cert.X509Certificate;
+import java.security.cert.X509CRL;
+import javax.xml.crypto.dsig.*;
+import javax.xml.crypto.dom.*;
+import javax.xml.crypto.dsig.keyinfo.*;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+
+import junit.framework.*;
+
+/**
+ * Unit test for javax.xml.crypto.dsig.keyinfo.X509IssuerSerial
+ *
+ * @version $Id: X509IssuerSerialTest.java,v 1.1 2004/04/07 21:11:36 mullan Exp $
+ * @author Valerie Peng
+ */
+public class X509IssuerSerialTest extends TestCase {
+
+    private KeyInfoFactory fac;
+    private String name;
+
+    public X509IssuerSerialTest() {
+	super("X509IssuerSerialTest");
+    }
+
+    public X509IssuerSerialTest(String name) {
+	super(name);
+    }
+
+    public void setUp() throws Exception { 
+	fac = KeyInfoFactory.getInstance
+	    ("DOM", new org.jcp.xml.dsig.internal.dom.XMLDSigRI());
+	name = "CN = Wolfgang";
+    }
+
+    public void tearDown() { }
+
+    public void testgetIssuerName() {
+	X509IssuerSerial x509is = fac.newX509IssuerSerial(name,BigInteger.ZERO);
+	assertNotNull(x509is.getIssuerName());	
+    }
+
+    public void testgetSerialNumber() {
+	X509IssuerSerial x509is = fac.newX509IssuerSerial(name,BigInteger.ZERO);
+	assertNotNull(x509is.getSerialNumber());	
+    }
+
+    public void testConstructor() {
+	// test newX509IssuerSerial(String, BigInteger)
+	X509IssuerSerial x509is = fac.newX509IssuerSerial(name, BigInteger.ONE);
+	assertEquals(name, x509is.getIssuerName());
+	assertEquals(BigInteger.ONE, x509is.getSerialNumber());
+    }
+
+    /*
+     * Confirm that an IllegalArgumentException is thrown when an issuer
+     * distinguished name does not conform to RFC 2253.
+     */
+    public void testConstructorBadIssuerName() {
+	// test newX509IssuerSerial(String, BigInteger)
+	String badName = "cn=bad,=+bad,";
+	try {
+	    fac.newX509IssuerSerial(badName,BigInteger.ONE);
+	    fail("Should raise an IllegalArgumentException when issuer " +
+		"distinguished name does not conform to RFC 2253"); 
+	} catch (IllegalArgumentException e) {
+	    // success
+	}
+    }
+
+    public void testisFeatureSupported() {
+	
+	X509IssuerSerial x509is = fac.newX509IssuerSerial(name, BigInteger.ONE);
+	try {
+	    x509is.isFeatureSupported(null); 
+	    fail("Should raise a NPE for null feature"); 
+	} catch (NullPointerException npe) {}
+	
+	assertTrue(!x509is.isFeatureSupported("not supported"));
+    }
+}