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}