SSLSessionContextTest.java revision adc854b798c1cfe3bfd4c27d68d5cee38ca617da
1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.api.javax.net.ssl;
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargets;
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestLevel;
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetNew;
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport dalvik.annotation.TestTargetClass;
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport junit.framework.TestCase;
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.net.ssl.SSLSessionContext;
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.apache.harmony.xnet.tests.support.SSLSessionContextImpl;
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Tests for <code>SSLSessionContext</code> class constructors and methods.
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project@TestTargetClass(SSLSessionContext.class)
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class SSLSessionContextTest extends TestCase {
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests javax.net.ssl.SSLSessionContex#getSessionCacheSize()
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests javax.net.ssl.SSLSessionContex#setSessionCacheSize(int size)
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargets({
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        @TestTargetNew(
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            level = TestLevel.COMPLETE,
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            notes = "",
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            method = "getSessionCacheSize",
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            args = {}
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        ),
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        @TestTargetNew(
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            level = TestLevel.COMPLETE,
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            notes = "",
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            method = "setSessionCacheSize",
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            args = {int.class}
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        )
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    })
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public final void test_sessionCacheSize() {
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        SSLSessionContextImpl sc = new SSLSessionContextImpl();
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("0 wasn't returned", 0, sc.getSessionCacheSize());
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            sc.setSessionCacheSize(10);
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("10 wasn't returned", 10, sc.getSessionCacheSize());
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            sc.setSessionCacheSize(5);
44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("5 wasn't returned", 5, sc.getSessionCacheSize());
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Unexpected exception");
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            sc.setSessionCacheSize(-1);
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("IllegalArgumentException wasn't thrown");
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (IllegalArgumentException iae) {
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            //expected
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests javax.net.ssl.SSLSessionContex#getSessionTimeout()
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests javax.net.ssl.SSLSessionContex#setSessionTimeout(int seconds)
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargets({
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        @TestTargetNew(
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            level = TestLevel.COMPLETE,
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            notes = "",
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            method = "getSessionTimeout",
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            args = {}
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        ),
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        @TestTargetNew(
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            level = TestLevel.COMPLETE,
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            notes = "",
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            method = "setSessionTimeout",
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            args = {int.class}
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        )
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    })
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public final void test_sessionTimeout() {
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        SSLSessionContextImpl sc = new SSLSessionContextImpl();
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("0 wasn't returned", 0, sc.getSessionTimeout());
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            sc.setSessionTimeout(100);
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("100 wasn't returned", 100, sc.getSessionTimeout());
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            sc.setSessionTimeout(5000);
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertEquals("5000 wasn't returned", 5000, sc.getSessionTimeout());
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Unexpected exception");
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            sc.setSessionTimeout(-1);
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("IllegalArgumentException wasn't thrown");
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (IllegalArgumentException iae) {
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            //expected
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests javax.net.ssl.SSLSessionContex#getSession(byte[] sessionId)
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargetNew(
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        level = TestLevel.COMPLETE,
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        notes = "",
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        method = "getSession",
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        args = {byte[].class}
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    )
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public final void test_getSession() {
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        SSLSessionContextImpl sc = new SSLSessionContextImpl();
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertNull(sc.getSession(null));
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertNull(sc.getSession(new byte[5]));
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Unexpected exception");
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @tests javax.net.ssl.SSLSessionContex#getIds()
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    @TestTargetNew(
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        level = TestLevel.COMPLETE,
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        notes = "",
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        method = "getIds",
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        args = {}
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    )
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public final void test_getIds() {
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        SSLSessionContextImpl sc = new SSLSessionContextImpl();
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertNull(sc.getIds());
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Unexpected exception");
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}