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"));
+ }
+}