You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2005/04/30 15:02:39 UTC
svn commit: r165407 -
/directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/primitives/OIDTest.java
Author: elecharny
Date: Sat Apr 30 06:02:39 2005
New Revision: 165407
URL: http://svn.apache.org/viewcvs?rev=165407&view=rev
Log:
Added a test case for OID.
Added:
directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/primitives/OIDTest.java
Added: directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/primitives/OIDTest.java
URL: http://svn.apache.org/viewcvs/directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/primitives/OIDTest.java?rev=165407&view=auto
==============================================================================
--- directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/primitives/OIDTest.java (added)
+++ directory/sandbox/trunk/asn1-new-codec/src/test/org/apache/asn1/primitives/OIDTest.java Sat Apr 30 06:02:39 2005
@@ -0,0 +1,218 @@
+/*
+ * Copyright 2005 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 org.apache.asn1.primitives;
+
+import org.apache.asn1.DecoderException;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class OIDTest extends TestCase {
+
+ /**
+ * Test a null OID
+ */
+ public void testOidNull()
+ {
+ OID oid = new OID();
+
+ try
+ {
+ oid.setOID(null);
+ Assert.fail("Should not reach this point ...");
+ }
+ catch (DecoderException de)
+ {
+ Assert.assertTrue(true);
+ }
+ }
+
+ /**
+ * Test an empty OID
+ */
+ public void testOidEmpty()
+ {
+ OID oid = new OID();
+
+ try
+ {
+ oid.setOID(new byte[]{});
+ Assert.fail("Should not reach this point ...");
+ }
+ catch (DecoderException de)
+ {
+ Assert.assertTrue(true);
+ }
+ }
+
+ /**
+ * Test itu-t OID tree
+ */
+ public void testOidItuT()
+ {
+ OID oid = new OID();
+
+ try
+ {
+ // itu-t(0), recommendation(0), series a-z (0..26)
+ for ( int i = 1 ; i < 27 ; i ++ )
+ {
+ oid.setOID(new byte[]{0x00, (byte)i});
+ Assert.assertEquals("0.0." + i, oid.getOID());
+ }
+
+ // itu-t(0), question(1)
+ oid.setOID(new byte[]{0x01});
+ Assert.assertEquals("0.1", oid.getOID());
+
+ // itu-t(0), administration(2), country(202 .. 748)
+ for ( int i = 202 ; i < 748 ; i ++ )
+ {
+ oid.setOID(new byte[]{0x02, (byte)((i / 128) | 0x0080), (byte)(i % 128)});
+ Assert.assertEquals("0.2." + i, oid.getOID());
+ }
+
+ // itu-t(0), network-operator(3), operator(2023 .. 41363)
+ for ( int i = 2023 ; i < 41363 ; i ++ )
+ {
+ if (i < 128*128)
+ {
+ oid.setOID(new byte[]{0x03, (byte)((i / 128) | 0x0080), (byte)(i % 128)});
+ Assert.assertEquals("0.3." + i, oid.getOID());
+ }
+ else
+ {
+ oid.setOID(new byte[]{0x03, (byte)((i / (128*128)) | 0x0080), (byte)(((i / 128) % 128 ) | 0x0080), (byte)(i % 128)});
+ Assert.assertEquals("0.3." + i, oid.getOID());
+
+ }
+ }
+ }
+ catch (DecoderException de)
+ {
+ Assert.fail();
+ }
+ }
+
+ /**
+ * Test iso OID tree
+ */
+ public void testOidIso()
+ {
+ OID oid = new OID();
+
+ try
+ {
+ // iso(1), standard(0)
+ oid.setOID(new byte[]{40 + 0});
+ Assert.assertEquals("1.0", oid.getOID());
+
+ // iso(1), registration-authority(1)
+ oid.setOID(new byte[]{40 + 1});
+ Assert.assertEquals("1.1", oid.getOID());
+
+ // iso(1), member-body(2)
+ oid.setOID(new byte[]{40 + 2});
+ Assert.assertEquals("1.2", oid.getOID());
+
+ // iso(1), identified-organization(3) | org(3) | organization(3)
+ oid.setOID(new byte[]{40 + 3});
+ Assert.assertEquals("1.3", oid.getOID());
+ }
+ catch (DecoderException de)
+ {
+ Assert.fail();
+ }
+ }
+
+ /**
+ * Test joint-iso-itu-t OID tree
+ */
+ public void testOidJointIsoItuT()
+ {
+ OID oid = new OID();
+
+ try
+ {
+ // joint-iso-itu-t(2), presentation(0)
+ oid.setOID(new byte[]{80 + 0});
+ Assert.assertEquals("2.0", oid.getOID());
+
+ // joint-iso-itu-t(2), asn1(1)
+ oid.setOID(new byte[]{80 + 1});
+ Assert.assertEquals("2.1", oid.getOID());
+
+ // joint-iso-itu-t(2), association-control(2)
+ oid.setOID(new byte[]{80 + 2});
+ Assert.assertEquals("2.2", oid.getOID());
+
+ // joint-iso-itu-t(2), reliable-transfer(3)
+ oid.setOID(new byte[]{80 + 3});
+ Assert.assertEquals("2.3", oid.getOID());
+
+ // ...
+ // joint-iso-itu-t(2), upu(40)
+ oid.setOID(new byte[]{80 + 40});
+ Assert.assertEquals("2.40", oid.getOID());
+ }
+ catch (DecoderException de)
+ {
+ Assert.fail();
+ }
+ }
+
+ /**
+ * Test Spnego OID
+ */
+ public void testOidSpnego()
+ {
+ OID oid = new OID();
+
+ try
+ {
+ oid.setOID(new byte[]{0x2b, 0x06, 0x01, 0x05, 0x05, 0x02});
+
+ Assert.assertEquals("1.3.6.1.5.5.2", oid.getOID());
+ }
+ catch (DecoderException de)
+ {
+ Assert.fail();
+ }
+ }
+
+ /**
+ * Test Kerberos V5 OID
+ */
+ public void testOidKerberosV5()
+ {
+ OID oid = new OID();
+
+ try
+ {
+ oid.setOID(new byte[]{0x2a, (byte)0x86, 0x48, (byte)0x86, (byte)0xf7, 0x12, 0x01, 0x02, 0x02});
+
+ Assert.assertEquals("1.2.840.113554.1.2.2", oid.getOID());
+ }
+ catch (DecoderException de)
+ {
+ Assert.fail();
+ }
+ }
+}