1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package org.apache.harmony.xnet.tests.javax.net.ssl; 19 20 import javax.net.ssl.SSLException; 21 22 import junit.framework.TestCase; 23 24 25 /** 26 * Tests for <code>SSLException</code> class constructors and methods. 27 * 28 */ 29 public class SSLExceptionTest extends TestCase { 30 31 public static void main(String[] args) { 32 } 33 34 /** 35 * Constructor for SSLExceptionTests. 36 * 37 * @param arg0 38 */ 39 public SSLExceptionTest(String arg0) { 40 super(arg0); 41 } 42 43 static String[] msgs = { 44 "", 45 "Check new message", 46 "Check new message Check new message Check new message Check new message Check new message" }; 47 48 static Throwable tCause = new Throwable("Throwable for exception"); 49 50 /** 51 * Test for <code>SSLException(String)</code> constructor Assertion: 52 * constructs SSLException with detail message msg. Parameter 53 * <code>msg</code> is not null. 54 */ 55 public void testSSLException01() { 56 SSLException tE; 57 for (int i = 0; i < msgs.length; i++) { 58 tE = new SSLException(msgs[i]); 59 assertEquals("getMessage() must return: ".concat(msgs[i]), tE 60 .getMessage(), msgs[i]); 61 assertNull("getCause() must return null", tE.getCause()); 62 } 63 } 64 65 /** 66 * Test for <code>SSLException(String)</code> constructor Assertion: 67 * constructs SSLException when <code>msg</code> is null 68 */ 69 public void testSSLException02() { 70 String msg = null; 71 SSLException tE = new SSLException(msg); 72 assertNull("getMessage() must return null.", tE.getMessage()); 73 assertNull("getCause() must return null", tE.getCause()); 74 } 75 76 /** 77 * Test for <code>DigestException(Throwable)</code> constructor Assertion: 78 * constructs DigestException when <code>cause</code> is null 79 */ 80 public void testSSLException03() { 81 Throwable cause = null; 82 SSLException tE = new SSLException(cause); 83 assertNull("getMessage() must return null.", tE.getMessage()); 84 assertNull("getCause() must return null", tE.getCause()); 85 } 86 87 /** 88 * Test for <code>SSLException(Throwable)</code> constructor Assertion: 89 * constructs SSLException when <code>cause</code> is not null 90 */ 91 public void testSSLException04() { 92 SSLException tE = new SSLException(tCause); 93 if (tE.getMessage() != null) { 94 String toS = tCause.toString(); 95 String getM = tE.getMessage(); 96 assertTrue("getMessage() should contain ".concat(toS), (getM 97 .indexOf(toS) != -1)); 98 } 99 // SSLException is subclass of IOException, but IOException has not 100 // constructors with Throwable parameters 101 if (tE.getCause() != null) { 102 // assertNotNull("getCause() must not return null", tE.getCause()); 103 assertEquals("getCause() must return ".concat(tCause.toString()), 104 tE.getCause(), tCause); 105 } 106 } 107 108 /** 109 * Test for <code>SSLException(String, Throwable)</code> constructor 110 * Assertion: constructs SSLException when <code>cause</code> is null 111 * <code>msg</code> is null 112 */ 113 public void testSSLException05() { 114 SSLException tE = new SSLException(null, null); 115 assertNull("getMessage() must return null", tE.getMessage()); 116 assertNull("getCause() must return null", tE.getCause()); 117 } 118 119 /** 120 * Test for <code>SSLException(String, Throwable)</code> constructor 121 * Assertion: constructs SSLException when <code>cause</code> is null 122 * <code>msg</code> is not null 123 */ 124 public void testSSLException06() { 125 SSLException tE; 126 for (int i = 0; i < msgs.length; i++) { 127 tE = new SSLException(msgs[i], null); 128 assertEquals("getMessage() must return: ".concat(msgs[i]), tE 129 .getMessage(), msgs[i]); 130 assertNull("getCause() must return null", tE.getCause()); 131 } 132 } 133 134 /** 135 * Test for <code>SSLException(String, Throwable)</code> constructor 136 * Assertion: constructs SSLException when <code>cause</code> is not null 137 * <code>msg</code> is null 138 */ 139 public void testSSLException07() { 140 SSLException tE = new SSLException(null, tCause); 141 if (tE.getMessage() != null) { 142 String toS = tCause.toString(); 143 String getM = tE.getMessage(); 144 assertTrue("getMessage() must should ".concat(toS), (getM 145 .indexOf(toS) != -1)); 146 } 147 // SSLException is subclass of IOException, but IOException has not 148 // constructors with Throwable parameters 149 if (tE.getCause() != null) { 150 // assertNotNull("getCause() must not return null", tE.getCause()); 151 assertEquals("getCause() must return ".concat(tCause.toString()), 152 tE.getCause(), tCause); 153 } 154 } 155 156 /** 157 * Test for <code>SSLException(String, Throwable)</code> constructor 158 * Assertion: constructs SSLException when <code>cause</code> is not null 159 * <code>msg</code> is not null 160 */ 161 public void testSSLException08() { 162 SSLException tE; 163 for (int i = 0; i < msgs.length; i++) { 164 tE = new SSLException(msgs[i], tCause); 165 String getM = tE.getMessage(); 166 String toS = tCause.toString(); 167 if (msgs[i].length() > 0) { 168 assertTrue("getMessage() must contain ".concat(msgs[i]), getM 169 .indexOf(msgs[i]) != -1); 170 if (!getM.equals(msgs[i])) { 171 assertTrue("getMessage() should contain ".concat(toS), getM 172 .indexOf(toS) != -1); 173 } 174 } 175 // SSLException is subclass of IOException, but IOException has not 176 // constructors with Throwable parameters 177 if (tE.getCause() != null) { 178 // assertNotNull("getCause() must not return null", 179 // tE.getCause()); 180 assertEquals("getCause() must return " 181 .concat(tCause.toString()), tE.getCause(), tCause); 182 } 183 } 184 } 185 186 } 187