1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* 2e45f106cb6b47af1f21efe76e933bdea2f5dd1caNagendra Modadugu * Licensed to the Apache Software Foundation (ASF) under one or more 3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * this work for additional information regarding copyright ownership. 5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the License. You may obtain a copy of the License at 8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * See the License for the specific language governing permissions and 15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * limitations under the License. 16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectpackage org.apache.harmony.xnet.tests.javax.net.ssl.serialization; 19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectimport java.io.Serializable; 21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectimport javax.net.ssl.SSLContext; 23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectimport javax.net.ssl.SSLSessionBindingEvent; 24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectimport javax.net.ssl.SSLSocket; 25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectimport org.apache.harmony.testframework.serialization.SerializationTest; 27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/** 29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Test for SSLSessionBindingEvent serialization 30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectpublic class SSLSessionBindingEventTest extends SerializationTest implements 34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project SerializationTest.SerializableAssert { 35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project @Override 37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project protected Object[] getData() { 38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project try { 39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project SSLContext cont = SSLContext.getInstance("TLS"); 40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project cont.init(null, null, null); 41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project SSLSocket soc = (SSLSocket )cont.getSocketFactory().createSocket(); 42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return new Object[] { new SSLSessionBindingEvent(soc.getSession(), "someName")}; 43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } catch (Exception e) { 44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project fail("Can not create data: "+ e); 45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project return null; 46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project public void assertDeserialized(Serializable oref, Serializable otest) { 50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project SSLSessionBindingEvent ref = (SSLSessionBindingEvent) oref; 51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project SSLSessionBindingEvent test = (SSLSessionBindingEvent) otest; 52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project assertEquals(ref.getName(), test.getName()); 53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } 54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project}