CRLTest.java revision f33eae7e84eb6d3b0f4e86b59605bb3de73009f3
1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @author Vladimir N. Molotkov 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project* @version $Revision$ 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project*/ 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.security.cert; 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargets; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestLevel; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetNew; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetClass; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CRL; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.Certificate; 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.security.tests.support.SpiEngUtils; 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tests for <code>java.security.cert.CRL</code> fields and methods 39f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project@TestTargetClass(CRL.class) 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class CRLTest extends TestCase { 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final String[] validValues = { "X.509", "x.509" }; 45f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private final static String[] invalidValues = SpiEngUtils.invalidValues; 47f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // Tests 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CRL(String type)</code> constructor<br> 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "CRL", 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.lang.String.class} 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void testConstructor() { 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i< validValues.length; i++) { 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = new MyCRL(validValues[i]); 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(validValues[i], crl.getType()); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 66f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i< invalidValues.length; i++) { 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = new MyCRL(invalidValues[i]); 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals(invalidValues[i], crl.getType()); 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 71f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = new MyCRL(null); 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (Exception e) { 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception for NULL parameter"); 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 79f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test #1 for <code>getType()</code> method<br> 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: returns <code>CRL</code> type 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getType", 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void testGetType01() { 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = new MyCRL("TEST_TYPE"); 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("TEST_TYPE", crl.getType()); 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test #2 for <code>getType()</code> method<br> 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: returns <code>CRL</code> type 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.PARTIAL_COMPLETE, 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "Verifies null as a parameter.", 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "getType", 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void testGetType02() { 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = new MyCRL(null); 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull(crl.getType()); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // the following tests just call methods 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // that are abstract in <code>Certificate</code> 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // (So they just like signature tests) 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project // 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>toString()</code> method 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "toString", 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {} 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void testToString() { 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = new MyCRL("TEST_TYPE"); 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project crl.toString(); 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>isRevoked()</code> method 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @TestTargetNew( 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project level = TestLevel.COMPLETE, 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project notes = "", 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project method = "isRevoked", 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project args = {java.security.cert.Certificate.class} 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project ) 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public final void testIsRevoked() { 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CRL crl = new MyCRL("TEST_TYPE"); 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project crl.isRevoked(null); 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project class MyCRL extends CRL { 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected MyCRL(String type) { 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(type); 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isRevoked(Certificate cert) { 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return false; 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project @Override 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String toString() { 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return null; 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 159f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 162