1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/*
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Licensed to the Apache Software Foundation (ASF) under one or more
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  contributor license agreements.  See the NOTICE file distributed with
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  this work for additional information regarding copyright ownership.
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  The ASF licenses this file to You under the Apache License, Version 2.0
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  (the "License"); you may not use this file except in compliance with
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  the License.  You may obtain a copy of the License at
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Unless required by applicable law or agreed to in writing, software
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  distributed under the License is distributed on an "AS IS" BASIS,
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  See the License for the specific language governing permissions and
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  limitations under the License.
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes* @author Vera Y. Petrashkova
20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes*/
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.security.tests.java.security.cert;
23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.cert.CertPathValidatorException;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.cert.CertPath;
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Iterator;
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.List;
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.StringTokenizer;
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.util.Vector;
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase;
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests for <code>CertPathValidatorException</code> class constructors and
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * methods.
37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class CertPathValidatorExceptionTest extends TestCase {
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public static void main(String[] args) {
42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Constructor for CertPathValidatorExceptionTests.
46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     *
47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @param arg0
48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public CertPathValidatorExceptionTest(String arg0) {
50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        super(arg0);
51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static String[] msgs = {
54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            "",
55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            "Check new message",
56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            "Check new message Check new message Check new message Check new message Check new message" };
57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static Throwable tCause = new Throwable("Throwable for exception");
59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException()</code> constructor
62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Assertion: constructs CertPathValidatorException with no detail message
63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException01() {
65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE = new CertPathValidatorException();
66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getMessage() must return null.", tE.getMessage());
67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getCause() must return null", tE.getCause());
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException(String)</code> constructor
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Assertion: constructs CertPathValidatorException with detail message msg.
73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Parameter <code>msg</code> is not null.
74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException02() {
76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE;
77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < msgs.length; i++) {
78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            tE = new CertPathValidatorException(msgs[i]);
79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("getMessage() must return: ".concat(msgs[i]), tE
80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .getMessage(), msgs[i]);
81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertNull("getCause() must return null", tE.getCause());
82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException(String)</code> constructor
87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Assertion: constructs CertPathValidatorException when <code>msg</code>
88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * is null
89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException03() {
91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        String msg = null;
92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE = new CertPathValidatorException(msg);
93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getMessage() must return null.", tE.getMessage());
94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getCause() must return null", tE.getCause());
95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException(Throwable)</code> constructor
99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Assertion: constructs CertPathValidatorException when <code>cause</code>
100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * is null
101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException04() {
103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Throwable cause = null;
104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE = new CertPathValidatorException(cause);
105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getMessage() must return null.", tE.getMessage());
106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getCause() must return null", tE.getCause());
107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException(Throwable)</code> constructor
111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Assertion: constructs CertPathValidatorException when <code>cause</code>
112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * is not null
113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException05() {
115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE = new CertPathValidatorException(tCause);
116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        if (tE.getMessage() != null) {
117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String toS = tCause.toString();
118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String getM = tE.getMessage();
119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertTrue("getMessage() should contain ".concat(toS), (getM
120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .indexOf(toS) != -1));
121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNotNull("getCause() must not return null", tE.getCause());
123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("getCause() must return ".concat(tCause.toString()), tE
124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .getCause(), tCause);
125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException(String, Throwable)</code>
129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> is null <code>msg</code> is null
131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException06() {
133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE = new CertPathValidatorException(null,
134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                null);
135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getMessage() must return null", tE.getMessage());
136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getCause() must return null", tE.getCause());
137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException(String, Throwable)</code>
141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> is null <code>msg</code> is not null
143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException07() {
145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE;
146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < msgs.length; i++) {
147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            tE = new CertPathValidatorException(msgs[i], null);
148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("getMessage() must return: ".concat(msgs[i]), tE
149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .getMessage(), msgs[i]);
150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertNull("getCause() must return null", tE.getCause());
151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException(String, Throwable)</code>
156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> is not null <code>msg</code> is null
158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException08() {
160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE = new CertPathValidatorException(null,
161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                tCause);
162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        if (tE.getMessage() != null) {
163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String toS = tCause.toString();
164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String getM = tE.getMessage();
165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertTrue("getMessage() must should ".concat(toS), (getM
166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .indexOf(toS) != -1));
167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNotNull("getCause() must not return null", tE.getCause());
169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("getCause() must return ".concat(tCause.toString()), tE
170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                .getCause(), tCause);
171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>CertPathValidatorException(String, Throwable)</code>
175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> is not null <code>msg</code> is not null
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException09() {
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE;
180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < msgs.length; i++) {
181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            tE = new CertPathValidatorException(msgs[i], tCause);
182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String getM = tE.getMessage();
183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String toS = tCause.toString();
184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            if (msgs[i].length() > 0) {
185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertTrue("getMessage() must contain ".concat(msgs[i]), getM
186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .indexOf(msgs[i]) != -1);
187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                if (!getM.equals(msgs[i])) {
188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    assertTrue("getMessage() should contain ".concat(toS), getM
189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            .indexOf(toS) != -1);
190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertNotNull("getCause() must not return null", tE.getCause());
193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("getCause() must return ".concat(tCause.toString()),
194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    tE.getCause(), tCause);
195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for
200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code>
201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> is null <code>msg</code> is null
203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>certPath</code> is null <code>index</code> is -1
204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException10() {
206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE = new CertPathValidatorException(null,
207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                null, null, -1);
208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getMessage() must return null", tE.getMessage());
209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getCause() must return null", tE.getCause());
210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertNull("getCertPath() must return null", tE.getCertPath());
211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        assertEquals("getIndex() must be -1", tE.getIndex(), -1);
212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code>
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> is null <code>msg</code> is null
219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>certPath</code> is null <code>index</code> not -1 throws:
220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * IllegalArgumentException
221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException11() {
223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        int[] indx = { 0, 1, 100, Integer.MAX_VALUE, Integer.MIN_VALUE };
224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int j = 0; j < indx.length; j++) {
225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            for (int i = 0; i < msgs.length; i++) {
226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                try {
227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    new CertPathValidatorException(msgs[i], tCause, null, indx[j]);
228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    fail("Error. IllegalArgumentException was not thrown as expected. "
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            + " msg: "
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            + msgs[i]
231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            + ", certPath is null and index is " + indx[j]);
232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                } catch (IllegalArgumentException e) {
233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for
240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code>
241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> not null <code>msg</code> not null
243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>certPath</code> is null <code>index</code> is -1
244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException12() {
246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE;
247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < msgs.length; i++) {
249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            try {
250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                tE = new CertPathValidatorException(msgs[i], tCause, null, -1);
251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                String getM = tE.getMessage();
252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                String toS = tCause.toString();
253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                if (msgs[i].length() > 0) {
254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    assertTrue("getMessage() must contain ".concat(msgs[i]),
255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            getM.indexOf(msgs[i]) != -1);
256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    if (!getM.equals(msgs[i])) {
257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        assertTrue("getMessage() should contain ".concat(toS),
258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                                getM.indexOf(toS) != -1);
259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    }
260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNotNull("getCause() must not return null", tE.getCause());
262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("getCause() must return "
263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .concat(tCause.toString()), tE.getCause(), tCause);
264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNull("getCertPath() must return null", tE.getCertPath());
265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("getIndex() must return -1", tE.getIndex(), -1);
266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            } catch (IndexOutOfBoundsException e) {
267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                fail("Unexpected exception: " + e.toString()
268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        + " Parameters: msg: " + msgs[i]
269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        + ", certPath is null and index is -1");
270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
271561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
272561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
274561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for
276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code>
277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> not null <code>msg</code> not null
279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>certPath</code> not null <code>index</code>< -1 || >=
280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * certPath.getCertificates().size() throws: IndexOutOfBoundsException
281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException13() {
283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        myCertPath mcp = new myCertPath("X.509", "");
284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPath cp = mcp.get("X.509");
285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        int[] indx = { -2, -100, 0, 1, 100, Integer.MAX_VALUE,
286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                Integer.MIN_VALUE };
287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int j = 0; j < indx.length; j++) {
288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            for (int i = 0; i < msgs.length; i++) {
289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                try {
290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    new CertPathValidatorException(msgs[i], tCause, cp, indx[j]);
291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    fail("IndexOutOfBoundsException was not thrown as expected. "
292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            + " msg: "
293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            + msgs[i]
294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            + ", certPath is null and index is " + indx[j]);
295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                } catch (IndexOutOfBoundsException e) {
296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for
303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>CertPathValidatorException(String, Throwable, CertPath, int)</code>
304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * constructor Assertion: constructs CertPathValidatorException when
305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>cause</code> not null <code>msg</code> not null
306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * <code>certPath</code> not null <code>index</code><
307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * certPath.getCertificates().size()
308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testCertPathValidatorException14() {
310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPathValidatorException tE;
311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        myCertPath mcp = new myCertPath("X.509", "");
312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        CertPath cp = mcp.get("X.509");
313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < msgs.length; i++) {
314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            try {
315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                tE = new CertPathValidatorException(msgs[i], tCause, cp, -1);
316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                String getM = tE.getMessage();
317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                String toS = tCause.toString();
318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                if (msgs[i].length() > 0) {
319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    assertTrue("getMessage() must contain ".concat(msgs[i]),
320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            getM.indexOf(msgs[i]) != -1);
321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    if (!getM.equals(msgs[i])) {
322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        assertTrue("getMessage() should contain ".concat(toS),
323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                                getM.indexOf(toS) != -1);
324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    }
325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNotNull("getCause() must not return null", tE.getCause());
327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("getCause() must return "
328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .concat(tCause.toString()), tE.getCause(), tCause);
329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertNotNull("getCertPath() must not return null", tE
330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .getCertPath());
331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals(
332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        "getCertPath() must return ".concat(cp.toString()), tE
333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                                .getCertPath(), cp);
334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                assertEquals("getIndex() must return -1", tE.getIndex(), -1);
335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            } catch (IndexOutOfBoundsException e) {
337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                fail("Unexpected IndexOutOfBoundsException was thrown. "
338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        + e.toString());
339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    class myCertPath extends CertPath {
344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        public List getCertificates() {
346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            return new Vector();
347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        public byte[] getEncoded() {
350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            return new byte[0];
351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        public byte[] getEncoded(String s) {
354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            return new byte[0];
355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        public Iterator getEncodings() {
358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            return (Iterator) (new StringTokenizer("ss ss ss ss"));
359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        protected myCertPath(String s) {
362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            super(s);
363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        public CertPath get(String s) {
366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            return new myCertPath(s);
367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        public myCertPath(String s, String s1) {
370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            super(s);
371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
377