CertificateCertificateRepTest.java revision cec4dd4b1d33f78997603d0f89c0d0e56e64dbcd
1package tests.security.cert; 2 3import dalvik.annotation.TestLevel; 4import dalvik.annotation.TestTargetClass; 5import dalvik.annotation.TestTargetNew; 6 7import junit.framework.TestCase; 8 9import org.apache.harmony.security.tests.support.cert.MyCertificate; 10import org.apache.harmony.security.tests.support.cert.TestUtils; 11import org.apache.harmony.security.tests.support.cert.MyCertificate.MyCertificateRep; 12 13import java.io.ObjectStreamException; 14import java.security.cert.Certificate; 15import java.util.Arrays; 16 17@TestTargetClass(java.security.cert.Certificate.class) 18public class CertificateCertificateRepTest extends TestCase { 19 20 private static final byte[] testEncoding = new byte[] { (byte) 1, (byte) 2, 21 (byte) 3, (byte) 4, (byte) 5 }; 22 23 protected void setUp() throws Exception { 24 super.setUp(); 25 } 26 27 protected void tearDown() throws Exception { 28 super.tearDown(); 29 } 30 31 /** 32 * Test for 33 * <code>Certificate.CertificateRep(String type, byte[] data)</code> 34 * method<br> 35 */ 36 @TestTargetNew( 37 level = TestLevel.COMPLETE, 38 notes = "", 39 method = "Certificate.CertificateRep.CertificateRep", 40 args = { String.class, byte[].class} 41 ) 42 public final void testCertificateCertificateRep() { 43 MyCertificate c1 = new MyCertificate("TEST_TYPE", testEncoding); 44 MyCertificateRep rep = c1.new MyCertificateRep("TEST_TYPE", new byte[] { 45 (byte) 1, (byte) 2, (byte) 3 }); 46 47 assertTrue(Arrays.equals(new byte[] { (byte) 1, (byte) 2, (byte) 3 }, 48 rep.getData())); 49 assertEquals("TEST_TYPE", rep.getType()); 50 51 try { 52 c1.new MyCertificateRep(null, null); 53 } catch (Exception e) { 54 fail("Unexpected exeption " + e.getMessage()); 55 } 56 57 try { 58 MyCertificate.MyCertificateRep rep1 = c1.new MyCertificateRep( 59 "X509", TestUtils.getX509Certificate_v3()); 60 assertEquals("X509", rep1.getType()); 61 assertTrue(Arrays.equals(TestUtils.getX509Certificate_v3(), rep1.getData())); 62 } catch (Exception e) { 63 fail("Unexpected exeption " + e.getMessage()); 64 } 65 } 66 67 /** 68 * Test for <code>readResolve()</code> method<br> 69 */ 70 @TestTargetNew( 71 level = TestLevel.COMPLETE, 72 notes = "", 73 method = "Certificate.CertificateRep.readResolve", 74 args = {} 75 ) 76 public final void testReadResolve() { 77 MyCertificate c1 = new MyCertificate("TEST_TYPE", testEncoding); 78 MyCertificateRep rep = c1.new MyCertificateRep("TEST_TYPE", new byte[] { 79 (byte) 1, (byte) 2, (byte) 3 }); 80 81 try { 82 rep.readResolve(); 83 fail("ObjectStreamException expected"); 84 } catch (ObjectStreamException e) { 85 // expected 86 } 87 88 MyCertificateRep rep1 = c1.new MyCertificateRep("X509", TestUtils 89 .getX509Certificate_v3()); 90 try { 91 Certificate obj = (Certificate) rep1.readResolve(); 92 assertEquals("0.3.5", obj.getPublicKey().getAlgorithm()); 93 assertEquals("X.509", obj.getPublicKey().getFormat()); 94 assertEquals("X.509", obj.getType()); 95 } catch (ObjectStreamException e) { 96 fail("Unexpected ObjectStreamException " + e.getMessage()); 97 } 98 } 99} 100