You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sm...@apache.org on 2006/04/10 14:01:13 UTC

svn commit: r392927 - /incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/org/apache/harmony/security/asn1/der/OidTest.java

Author: smishura
Date: Mon Apr 10 05:01:12 2006
New Revision: 392927

URL: http://svn.apache.org/viewcvs?rev=392927&view=rev
Log:
New cases for testing were added + minor redesign.

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/org/apache/harmony/security/asn1/der/OidTest.java

Modified: incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/org/apache/harmony/security/asn1/der/OidTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/org/apache/harmony/security/asn1/der/OidTest.java?rev=392927&r1=392926&r2=392927&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/org/apache/harmony/security/asn1/der/OidTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/security/src/test/java/common/org/apache/harmony/security/asn1/der/OidTest.java Mon Apr 10 05:01:12 2006
@@ -44,41 +44,107 @@
         junit.textui.TestRunner.run(OidTest.class);
     }
 
-    private static Object[][] oid = new Object[][] {
-    //oid array format: string / int array / byte array
-            // OID=0.0 
-            new Object[] { "OID=0.0", // as string 
+    private static Object[][] oid = {
+            //oid array format: string / int array / DER encoding
+            { "0.0", // as string
                     new int[] { 0, 0 }, // as int array
                     new byte[] { 0x06, 0x01, 0x00 } },
-            // OID=0.5 
-            new Object[] { "OID=0.5", // as string
+            //
+            { "0.0.3", // as string
+                    new int[] { 0, 0, 3 }, // as int array
+                    new byte[] { 0x06, 0x02, 0x00, 0x03 } },
+            //
+            { "0.1.3", // as string
+                    new int[] { 0, 1, 3 }, // as int array
+                    new byte[] { 0x06, 0x02, 0x01, 0x03 } },
+            //
+            { "0.5", // as string
                     new int[] { 0, 5 }, // as int array
                     new byte[] { 0x06, 0x01, 0x05 } },
-            // OID=1.1 
-            new Object[] { "OID=1.1", // as string
+            //
+            { "0.39.3", // as string
+                    new int[] { 0, 39, 3 }, // as int array
+                    new byte[] { 0x06, 0x02, 0x27, 0x03 } },
+            //
+            { "1.0.3", // as string
+                    new int[] { 1, 0, 3 }, // as int array
+                    new byte[] { 0x06, 0x02, 0x28, 0x03 } },
+            //
+            { "1.1", // as string
                     new int[] { 1, 1 }, // as int array
                     new byte[] { 0x06, 0x01, 0x29 } },
-            // OID=2.47 
-            new Object[] { "OID=2.47", // as string
+            //
+            { "1.2.1.2.1",// as string
+                    new int[] { 1, 2, 1, 2, 1 }, // as int array
+                    new byte[] { 0x06, 0x04, 0x2A, 0x01, 0x02, 0x01 } },
+            //
+            {
+                    "1.2.840.113554.1.2.2",// as string
+                    new int[] { 1, 2, 840, 113554, 1, 2, 2 }, // as int array
+                    new byte[] { 0x06, 0x09, 0x2A, (byte) 0x86, 0x48,
+                            (byte) 0x86, (byte) 0xF7, 0x12, 0x01, 0x02, 0x02 } },
+            //
+            { "1.39.3",// as string
+                    new int[] { 1, 39, 3 }, // as int array
+                    new byte[] { 0x06, 0x02, 0x4F, 0x03 } },
+            //
+            { "2.0.3",// as string
+                    new int[] { 2, 0, 3 }, // as int array
+                    new byte[] { 0x06, 0x02, 0x50, 0x03 } },
+            //
+            { "2.5.4.3",// as string
+                    new int[] { 2, 5, 4, 3 }, // as int array
+                    new byte[] { 0x06, 0x03, 0x55, 0x04, 0x03 } },
+            // 
+            { "2.39.3", // as string
+                    new int[] { 2, 39, 3 }, // as int array
+                    new byte[] { 0x06, 0x02, 0x77, 0x03 } },
+            //
+            { "2.40.3", // as string
+                    new int[] { 2, 40, 3 }, // as int array
+                    new byte[] { 0x06, 0x02, 0x78, 0x03 } },
+            //
+            { "2.47", // as string
                     new int[] { 2, 47 }, // as int array
                     new byte[] { 0x06, 0x01, 0x7F } },
-            // OID=2.48
-            new Object[] { "OID=2.48", // as string
+            //
+            { "2.48", // as string
                     new int[] { 2, 48 }, // as int array
                     new byte[] { 0x06, 0x02, (byte) 0x81, 0x00 } },
-            // OID=2.48.5 
-            new Object[] { "OID=2.48.5", // as string
+            //
+            { "2.48.5", // as string
                     new int[] { 2, 48, 5 }, // as int array
-                    new byte[] { 0x06, 0x03, (byte) 0x81, 0x00, 0x05 } }
+                    new byte[] { 0x06, 0x03, (byte) 0x81, 0x00, 0x05 } },
+            //
+            { "2.100.3", // as string
+                    new int[] { 2, 100, 3 }, // as int array
+                    new byte[] { 0x06, 0x03, (byte) 0x81, 0x34, 0x03 } } };
 
-    };
+    public void test_MappingToIntArray() throws IOException {
 
-    public void testDecode_Valid() throws IOException {
+        // oid decoder/encoder for testing
+        ASN1Oid asn1 = ASN1Oid.getInstance();
 
+        // testing decoding
         for (int i = 0; i < oid.length; i++) {
-            DerInputStream in = new DerInputStream((byte[]) oid[i][2]);
-            assertTrue((String) oid[i][0], Arrays.equals((int[]) oid[i][1],
-                    (int[]) ASN1Oid.getInstance().decode(in)));
+
+            int[] decoded = (int[]) asn1.decode(new DerInputStream(
+                    (byte[]) oid[i][2]));
+
+            assertTrue("Failed to decode oid: " + oid[i][0], // error message
+                    Arrays.equals((int[]) oid[i][1], // expected array
+                            decoded));
+        }
+        
+        // testing encoding
+        for (int i = 0; i < oid.length; i++) {
+
+            byte[] encoded = new DerOutputStream(ASN1Oid.getInstance(),
+                    oid[i][1]).encoded;
+
+            assertTrue("Failed to encode oid: " + oid[i][0], // error message
+                    Arrays.equals((byte[]) oid[i][2], // expected encoding
+                            encoded));
         }
     }
 
@@ -104,61 +170,23 @@
         }
     }
 
-    public void testEncode() throws IOException {
-
-        for (int i = 0; i < oid.length; i++) {
-            DerOutputStream out = new DerOutputStream(ASN1Oid.getInstance(), oid[i][1]);
-            assertTrue((String) oid[i][0], Arrays.equals((byte[]) oid[i][2],
-                    out.encoded));
-        }
-    }
-
     public void test_MappingToString() throws IOException {
 
-        //
-        // Test cases
-        //
-
-        Object[][] stringOids = new Object[][] {
-        //oid array format: string / byte array
-                // OID=0.0 
-                new Object[] { "0.0", // as string 
-                        new byte[] { 0x06, 0x01, 0x00 } },
-                // OID=0.5 
-                new Object[] { "0.5", // as string
-                        new byte[] { 0x06, 0x01, 0x05 } },
-                // OID=1.1 
-                new Object[] { "1.1", // as string
-                        new byte[] { 0x06, 0x01, 0x29 } },
-                // OID=2.47 
-                new Object[] { "2.47", // as string
-                        new byte[] { 0x06, 0x01, 0x7F } },
-                // OID=2.48
-                new Object[] { "2.48", // as string
-                        new byte[] { 0x06, 0x02, (byte) 0x81, 0x00 } },
-                // OID=2.48.5 
-                new Object[] { "2.48.5", // as string
-                        new byte[] { 0x06, 0x03, (byte) 0x81, 0x00, 0x05 } }
-
-        };
-
-        //
-        // Decoding
-        //
-        for (int i = 0; i < stringOids.length; i++) {
-            DerInputStream in = new DerInputStream((byte[]) stringOids[i][1]);
-            assertEquals((String) oid[i][0], stringOids[i][0], ASN1Oid
-                    .getInstanceForString().decode(in));
+        // oid decoder/encoder for testing
+        ASN1Oid asn1 = ASN1Oid.getInstanceForString();
+        
+        // testing decoding
+        for (int i = 0; i < oid.length; i++) {
+            assertEquals("Failed to decode oid: " + oid[i][0], // error message
+                    oid[i][0], // expected string
+                    asn1.decode(new DerInputStream((byte[]) oid[i][2])));
         }
 
-        //
-        // Encoding
-        //
-        for (int i = 0; i < stringOids.length; i++) {
-            DerOutputStream out = new DerOutputStream(ASN1Oid
-                    .getInstanceForString(), stringOids[i][0]);
-            assertTrue((String) oid[i][0], Arrays.equals((byte[]) stringOids[i][1],
-                    out.encoded));
+        // testing encoding
+        for (int i = 0; i < oid.length; i++) {
+            assertTrue("Failed to encode oid: " + oid[i][0], // error message
+                    Arrays.equals((byte[]) oid[i][2], // expected encoding
+                            new DerOutputStream(asn1, oid[i][0]).encoded));
         }
     }
-}
\ No newline at end of file
+}