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/** 19 * @author Vera Y. Petrashkova 20 */ 21 22package org.apache.harmony.security.tests.java.security.cert.serialization; 23 24import java.io.Serializable; 25import java.security.cert.CertPath; 26import java.security.cert.CertPathValidatorException; 27 28import org.apache.harmony.testframework.serialization.SerializationTest; 29 30 31/** 32 * Test for CertPathValidatorException serialization 33 */ 34 35public class CertPathValidatorExceptionTest extends SerializationTest implements 36 SerializationTest.SerializableAssert { 37 38 public static String[] msgs = { 39 "New message", 40 "Long message for Exception. Long message for Exception. Long message for Exception." }; 41 42 protected Object[] getData() { 43 Exception cause = new Exception(msgs[1]); 44 CertPathValidatorException dExc = new CertPathValidatorException( 45 msgs[0], cause); 46 String msg = null; 47 Throwable th = null; 48 return new Object[] { new CertPathValidatorException(), 49 new CertPathValidatorException(msg), 50 new CertPathValidatorException(msgs[1]), 51 new CertPathValidatorException(new Throwable()), 52 new CertPathValidatorException(th), 53 new CertPathValidatorException(msgs[1], dExc), 54 new CertPathValidatorException(msgs[1], dExc, null, -1) }; 55 } 56 57 public void assertDeserialized(Serializable oref, Serializable otest) { 58 59 // common checks 60 THROWABLE_COMPARATOR.assertDeserialized(oref, otest); 61 62 // class specific checks 63 CertPathValidatorException ref = (CertPathValidatorException) oref; 64 CertPathValidatorException test = (CertPathValidatorException) otest; 65 CertPath cp = ref.getCertPath(); 66 int ind = ref.getIndex(); 67 assertEquals("Incorrect index", test.getIndex(), ind); 68 if (cp == null) { 69 assertNull("getCertPath() must return null", test.getCertPath()); 70 } else { 71 CertPath res = test.getCertPath(); 72 assertEquals("Incorrect CertPath", res.getClass(), cp.getClass()); 73 } 74 } 75 76} 77