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 Vera Y. Petrashkova 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 junit.framework.TestCase; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertPath; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.CertPathValidatorException; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.security.cert.Certificate; 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Iterator; 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.StringTokenizer; 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.Vector; 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tests for <code>CertPathValidatorException</code> class constructors and 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * methods. 39f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class CertPathValidatorExceptionTest extends TestCase { 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static String[] msgs = { 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "", 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "Check new message", 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "Check new message Check new message Check new message Check new message Check new message" }; 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static Throwable tCause = new Throwable("Throwable for exception"); 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException()</code> constructor 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs CertPathValidatorException with no detail message 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException01() { 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(); 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null.", tE.getMessage()); 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException(String)</code> constructor 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs CertPathValidatorException with detail message msg. 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Parameter <code>msg</code> is not null. 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException02() { 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE; 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i]); 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getMessage() must return: ".concat(msgs[i]), tE 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getMessage(), msgs[i]); 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException(String)</code> constructor 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs CertPathValidatorException when <code>msg</code> 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is null 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException03() { 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String msg = null; 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(msg); 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null.", tE.getMessage()); 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException(Throwable)</code> constructor 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs CertPathValidatorException when <code>cause</code> 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is null 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException04() { 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Throwable cause = null; 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(cause); 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null.", tE.getMessage()); 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException(Throwable)</code> constructor 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs CertPathValidatorException when <code>cause</code> 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is not null 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException05() { 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(tCause); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (tE.getMessage() != null) { 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String toS = tCause.toString(); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String getM = tE.getMessage(); 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() should contain ".concat(toS), (getM 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .indexOf(toS) != -1)); 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCause() must not return null", tE.getCause()); 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getCause() must return ".concat(tCause.toString()), tE 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCause(), tCause); 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException(String, Throwable)</code> 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is null <code>msg</code> is null 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException06() { 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(null, 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project null); 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null", tE.getMessage()); 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException(String, Throwable)</code> 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is null <code>msg</code> is not null 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException07() { 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE; 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], null); 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getMessage() must return: ".concat(msgs[i]), tE 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getMessage(), msgs[i]); 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException(String, Throwable)</code> 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is not null <code>msg</code> is null 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException08() { 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(null, 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tCause); 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (tE.getMessage() != null) { 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String toS = tCause.toString(); 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String getM = tE.getMessage(); 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() must should ".concat(toS), (getM 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .indexOf(toS) != -1)); 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCause() must not return null", tE.getCause()); 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getCause() must return ".concat(tCause.toString()), tE 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCause(), tCause); 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>CertPathValidatorException(String, Throwable)</code> 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is not null <code>msg</code> is not null 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException09() { 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE; 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], tCause); 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String getM = tE.getMessage(); 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String toS = tCause.toString(); 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (msgs[i].length() > 0) { 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() must contain ".concat(msgs[i]), getM 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .indexOf(msgs[i]) != -1); 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!getM.equals(msgs[i])) { 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() should contain ".concat(toS), getM 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .indexOf(toS) != -1); 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCause() must not return null", tE.getCause()); 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getCause() must return ".concat(tCause.toString()), 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE.getCause(), tCause); 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code> 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is null <code>msg</code> is null 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>certPath</code> is null <code>index</code> is -1 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException10() { 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(null, 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project null, null, -1); 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null", tE.getMessage()); 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null", tE.getCertPath()); 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must be -1", tE.getIndex(), -1); 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code> 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is null <code>msg</code> is null 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>certPath</code> is null <code>index</code> not -1 throws: 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * IllegalArgumentException 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException11() { 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] indx = { 0, 1, 100, Integer.MAX_VALUE, Integer.MIN_VALUE }; 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int j = 0; j < indx.length; j++) { 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new CertPathValidatorException(msgs[i], tCause, null, indx[j]); 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Error. IllegalArgumentException was not thrown as expected. " 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + " msg: " 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + msgs[i] 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + ", certPath is null and index is " + indx[j]); 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IllegalArgumentException e) { 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code> 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> not null <code>msg</code> not null 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>certPath</code> is null <code>index</code> is -1 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException12() { 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE; 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], tCause, null, -1); 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String getM = tE.getMessage(); 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String toS = tCause.toString(); 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (msgs[i].length() > 0) { 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() must contain ".concat(msgs[i]), 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project getM.indexOf(msgs[i]) != -1); 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!getM.equals(msgs[i])) { 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() should contain ".concat(toS), 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project getM.indexOf(toS) != -1); 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCause() must not return null", tE.getCause()); 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getCause() must return " 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .concat(tCause.toString()), tE.getCause(), tCause); 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null", tE.getCertPath()); 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must return -1", tE.getIndex(), -1); 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception: " + e.toString() 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + " Parameters: msg: " + msgs[i] 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + ", certPath is null and index is -1"); 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code> 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> not null <code>msg</code> not null 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>certPath</code> not null <code>index</code>< -1 || >= 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * certPath.getCertificates().size() throws: IndexOutOfBoundsException 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException13() { 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project myCertPath mcp = new myCertPath("X.509", ""); 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPath cp = mcp.get("X.509"); 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project int[] indx = { -2, -100, 0, 1, 100, Integer.MAX_VALUE, 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Integer.MIN_VALUE }; 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int j = 0; j < indx.length; j++) { 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project new CertPathValidatorException(msgs[i], tCause, cp, indx[j]); 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("IndexOutOfBoundsException was not thrown as expected. " 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + " msg: " 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + msgs[i] 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + ", certPath is null and index is " + indx[j]); 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code> 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs CertPathValidatorException when 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> not null <code>msg</code> not null 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>certPath</code> not null <code>index</code>< 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * certPath.getCertificates().size() 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException14() { 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE; 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project myCertPath mcp = new myCertPath("X.509", ""); 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPath cp = mcp.get("X.509"); 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], tCause, cp, -1); 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String getM = tE.getMessage(); 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String toS = tCause.toString(); 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (msgs[i].length() > 0) { 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() must contain ".concat(msgs[i]), 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project getM.indexOf(msgs[i]) != -1); 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!getM.equals(msgs[i])) { 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() should contain ".concat(toS), 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project getM.indexOf(toS) != -1); 314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCause() must not return null", tE.getCause()); 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getCause() must return " 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .concat(tCause.toString()), tE.getCause(), tCause); 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCertPath() must not return null", tE 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCertPath()); 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals( 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "getCertPath() must return ".concat(cp.toString()), tE 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCertPath(), cp); 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must return -1", tE.getIndex(), -1); 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IndexOutOfBoundsException was thrown. " 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + e.toString()); 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 332f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>getCertPath()</code>. Returns the certification path 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * that was being validated when the exception was thrown. 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException15() { 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(); 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null.", tE.getCertPath()); 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i]); 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null ", tE.getCertPath()); 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Throwable cause = null; 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(cause); 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null.", tE.getCertPath()); 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(tCause); 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null.", tE.getCertPath()); 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], tCause); 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null", tE.getCertPath()); 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(null, null, null, -1); 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null", tE.getCertPath()); 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], tCause, null, -1); 364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCertPath() must return null", tE.getCertPath()); 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected exception: " + e.getMessage()); 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project myCertPath mcp = new myCertPath("X.509", ""); 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPath cp = mcp.get("X.509"); 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], tCause, cp, -1); 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCertPath() must not return null", tE 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCertPath()); 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals( 378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "getCertPath() must return ".concat(cp.toString()), tE 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCertPath(), cp); 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IndexOutOfBoundsException was thrown. " 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + e.toString()); 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>getIndex()</code>. Returns the index of the certificate 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * in the certification path that caused the exception to be thrown. Note 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * that the list of certificates in a CertPath is zero based. If no index 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * has been set, -1 is returned. 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testCertPathValidatorException16() { 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPathValidatorException tE = new CertPathValidatorException(); 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must be equals -1", -1, tE.getIndex()); 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i]); 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must be equals -1", -1, tE.getIndex()); 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Throwable cause = null; 403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(cause); 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must be equals -1", -1, tE.getIndex()); 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(tCause); 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must be equals -1", -1, tE.getIndex()); 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], tCause); 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must be equals -1", -1, tE.getIndex()); 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(null, null, null, -1); 415adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getIndex() must be equals -1", -1, tE.getIndex()); 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project myCertPath mcp = new myCertPath("X.509", ""); 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project CertPath cp = mcp.get("X.509"); 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project try { 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new CertPathValidatorException(msgs[i], tCause, cp, -1); 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getIndex() must not return null", tE 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCertPath()); 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals( 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "getIndex() must return ".concat(cp.toString()), tE 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCertPath(), cp); 427adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } catch (IndexOutOfBoundsException e) { 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fail("Unexpected IndexOutOfBoundsException was thrown. " 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project + e.getMessage()); 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project class myCertPath extends CertPath { 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static final long serialVersionUID = 5871603047244722511L; 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public List<Certificate> getCertificates() { 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return new Vector<Certificate>(); 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public byte[] getEncoded() { 443adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return new byte[0]; 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public byte[] getEncoded(String s) { 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return new byte[0]; 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Iterator<String> getEncodings() { 451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return (Iterator<String>) (new StringTokenizer("ss ss ss ss")); 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project protected myCertPath(String s) { 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(s); 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public CertPath get(String s) { 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return new myCertPath(s); 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public myCertPath(String s, String s1) { 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project super(s); 464adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 470