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.spec; 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.spec.InvalidKeySpecException; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tests for <code>InvalidKeySpecException</code> class constructors and 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * methods. 32f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class InvalidKeySpecExceptionTest extends TestCase { 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static String[] msgs = { 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "", 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "Check new message", 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project "Check new message Check new message Check new message Check new message Check new message" }; 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private static Throwable tCause = new Throwable("Throwable for exception"); 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException()</code> constructor Assertion: 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructs InvalidKeySpecException with no detail message 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException01() { 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE = new InvalidKeySpecException(); 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null.", tE.getMessage()); 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException(String)</code> constructor 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs InvalidKeySpecException with detail message msg. 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Parameter <code>msg</code> is not null. 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException02() { 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE; 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new InvalidKeySpecException(msgs[i]); 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getMessage() must return: ".concat(msgs[i]), tE 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getMessage(), msgs[i]); 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException(String)</code> constructor 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs InvalidKeySpecException when <code>msg</code> is 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * null 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException03() { 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String msg = null; 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE = new InvalidKeySpecException(msg); 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null.", tE.getMessage()); 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException(Throwable)</code> constructor 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs InvalidKeySpecException when <code>cause</code> 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is null 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException04() { 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Throwable cause = null; 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE = new InvalidKeySpecException(cause); 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null.", tE.getMessage()); 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException(Throwable)</code> constructor 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Assertion: constructs InvalidKeySpecException when <code>cause</code> 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is not null 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException05() { 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE = new InvalidKeySpecException(tCause); 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (tE.getMessage() != null) { 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String toS = tCause.toString(); 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String getM = tE.getMessage(); 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() should contain ".concat(toS), (getM 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .indexOf(toS) != -1)); 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCause() must not return null", tE.getCause()); 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getCause() must return ".concat(tCause.toString()), tE 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCause(), tCause); 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException(String, Throwable)</code> 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs InvalidKeySpecException when 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is null <code>msg</code> is null 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException06() { 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE = new InvalidKeySpecException(null, null); 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getMessage() must return null", tE.getMessage()); 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException(String, Throwable)</code> 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs InvalidKeySpecException when 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is null <code>msg</code> is not null 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException07() { 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE; 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new InvalidKeySpecException(msgs[i], null); 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getMessage() must return: ".concat(msgs[i]), tE 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getMessage(), msgs[i]); 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNull("getCause() must return null", tE.getCause()); 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException(String, Throwable)</code> 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs InvalidKeySpecException when 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is not null <code>msg</code> is null 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException08() { 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE = new InvalidKeySpecException(null, tCause); 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (tE.getMessage() != null) { 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String toS = tCause.toString(); 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String getM = tE.getMessage(); 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() must should ".concat(toS), (getM 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .indexOf(toS) != -1)); 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCause() must not return null", tE.getCause()); 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getCause() must return ".concat(tCause.toString()), tE 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .getCause(), tCause); 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Test for <code>InvalidKeySpecException(String, Throwable)</code> 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * constructor Assertion: constructs InvalidKeySpecException when 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <code>cause</code> is not null <code>msg</code> is not null 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void testInvalidKeySpecException09() { 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project InvalidKeySpecException tE; 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < msgs.length; i++) { 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE = new InvalidKeySpecException(msgs[i], tCause); 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String getM = tE.getMessage(); 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project String toS = tCause.toString(); 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (msgs[i].length() > 0) { 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() must contain ".concat(msgs[i]), getM 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .indexOf(msgs[i]) != -1); 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (!getM.equals(msgs[i])) { 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertTrue("getMessage() should contain ".concat(toS), getM 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project .indexOf(toS) != -1); 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertNotNull("getCause() must not return null", tE.getCause()); 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project assertEquals("getCause() must return ".concat(tCause.toString()), 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project tE.getCause(), tCause); 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 179