Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2010 The Android Open Source Project |
| 3 | * |
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | * you may not use this file except in compliance with the License. |
| 6 | * You may obtain a copy of the License at |
| 7 | * |
| 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | * |
| 10 | * Unless required by applicable law or agreed to in writing, software |
| 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. |
| 15 | */ |
| 16 | |
Jesse Wilson | 4557728 | 2010-08-10 15:07:34 -0700 | [diff] [blame] | 17 | package libcore.javax.net.ssl; |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 18 | |
Jesse Wilson | 4557728 | 2010-08-10 15:07:34 -0700 | [diff] [blame] | 19 | import libcore.java.security.StandardNames; |
| 20 | import libcore.java.security.TestKeyStore; |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 21 | import java.util.Arrays; |
Jesse Wilson | 4557728 | 2010-08-10 15:07:34 -0700 | [diff] [blame] | 22 | import javax.net.ssl.SSLPeerUnverifiedException; |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 23 | import junit.framework.TestCase; |
| 24 | |
| 25 | public class SSLSessionTest extends TestCase { |
| 26 | |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 27 | public void test_SSLSocket_TestSSLSessions_create() { |
| 28 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 29 | assertNotNull(s.invalid); |
| 30 | assertFalse(s.invalid.isValid()); |
| 31 | assertTrue(s.server.isValid()); |
| 32 | assertTrue(s.client.isValid()); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 33 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 34 | } |
| 35 | |
| 36 | public void test_SSLSession_getApplicationBufferSize() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 37 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 38 | assertTrue(s.invalid.getApplicationBufferSize() > 0); |
| 39 | assertTrue(s.server.getApplicationBufferSize() > 0); |
| 40 | assertTrue(s.client.getApplicationBufferSize() > 0); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 41 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 42 | } |
| 43 | |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 44 | public void test_SSLSession_getCipherSuite() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 45 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 46 | assertNotNull(s.invalid.getCipherSuite()); |
Brian Carlstrom | fd487fb | 2010-05-17 16:10:53 -0700 | [diff] [blame] | 47 | assertEquals(StandardNames.CIPHER_SUITE_INVALID, s.invalid.getCipherSuite()); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 48 | assertNotNull(s.server.getCipherSuite()); |
| 49 | assertNotNull(s.client.getCipherSuite()); |
| 50 | assertEquals(s.server.getCipherSuite(), |
| 51 | s.client.getCipherSuite()); |
Alex Klyubin | 2cd541f | 2013-10-30 15:36:03 -0700 | [diff] [blame] | 52 | StandardNames.assertValidCipherSuites(new String[] {s.server.getCipherSuite()}); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 53 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 54 | } |
| 55 | |
| 56 | public void test_SSLSession_getCreationTime() { |
Elliott Hughes | 8399ee3 | 2012-07-16 18:20:20 -0700 | [diff] [blame] | 57 | // We use OpenSSL, which only returns times accurate to the nearest second. |
| 58 | // NativeCrypto just multiplies by 1000, which looks like truncation, which |
| 59 | // would make it appear as if the OpenSSL side of things was created before |
| 60 | // we called it. |
| 61 | long t0 = System.currentTimeMillis() / 1000; |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 62 | TestSSLSessions s = TestSSLSessions.create(); |
Elliott Hughes | 8399ee3 | 2012-07-16 18:20:20 -0700 | [diff] [blame] | 63 | long t1 = System.currentTimeMillis() / 1000; |
| 64 | |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 65 | assertTrue(s.invalid.getCreationTime() > 0); |
Elliott Hughes | 8399ee3 | 2012-07-16 18:20:20 -0700 | [diff] [blame] | 66 | |
| 67 | long sTime = s.server.getCreationTime() / 1000; |
| 68 | assertTrue(sTime + " >= " + t0, sTime >= t0); |
| 69 | assertTrue(sTime + " <= " + t1, sTime <= t1); |
| 70 | |
| 71 | long cTime = s.client.getCreationTime() / 1000; |
| 72 | assertTrue(cTime + " >= " + t0, cTime >= t0); |
| 73 | assertTrue(cTime + " <= " + t1, cTime <= t1); |
| 74 | |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 75 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 76 | } |
| 77 | |
| 78 | public void test_SSLSession_getId() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 79 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 80 | assertNotNull(s.invalid.getId()); |
| 81 | assertNotNull(s.server.getId()); |
| 82 | assertNotNull(s.client.getId()); |
| 83 | assertEquals(0, s.invalid.getId().length); |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 84 | if (TestSSLContext.sslServerSocketSupportsSessionTickets()) { |
| 85 | assertEquals(0, s.server.getId().length); |
| 86 | } else { |
| 87 | assertEquals(32, s.server.getId().length); |
| 88 | assertTrue(Arrays.equals(s.server.getId(), s.client.getId())); |
| 89 | } |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 90 | assertEquals(32, s.client.getId().length); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 91 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 92 | } |
| 93 | |
| 94 | public void test_SSLSession_getLastAccessedTime() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 95 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 96 | assertTrue(s.invalid.getLastAccessedTime() > 0); |
| 97 | assertTrue(s.server.getLastAccessedTime() > 0); |
| 98 | assertTrue(s.client.getLastAccessedTime() > 0); |
Brian Carlstrom | 32bf67c | 2013-08-31 11:38:07 -0700 | [diff] [blame] | 99 | assertTrue("s.server.getLastAccessedTime()=" + s.server.getLastAccessedTime() + " " + |
| 100 | "s.client.getLastAccessedTime()=" + s.client.getLastAccessedTime(), |
| 101 | Math.abs(s.server.getLastAccessedTime() |
zhulin0910 | 3f49882 | 2015-09-24 14:21:45 +0800 | [diff] [blame] | 102 | - s.client.getLastAccessedTime()) <= 1 * 1000); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 103 | assertTrue(s.server.getLastAccessedTime() >= |
| 104 | s.server.getCreationTime()); |
| 105 | assertTrue(s.client.getLastAccessedTime() >= |
| 106 | s.client.getCreationTime()); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 107 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 108 | } |
| 109 | |
| 110 | public void test_SSLSession_getLocalCertificates() throws Exception { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 111 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 112 | assertNull(s.invalid.getLocalCertificates()); |
| 113 | assertNull(s.client.getLocalCertificates()); |
| 114 | assertNotNull(s.server.getLocalCertificates()); |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 115 | TestKeyStore.assertChainLength(s.server.getLocalCertificates()); |
| 116 | TestSSLContext.assertServerCertificateChain(s.s.c.serverTrustManager, |
| 117 | s.server.getLocalCertificates()); |
Brian Carlstrom | 204cab3 | 2010-05-17 15:23:45 -0700 | [diff] [blame] | 118 | TestSSLContext.assertCertificateInKeyStore(s.server.getLocalCertificates()[0], |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 119 | s.s.c.serverKeyStore); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 120 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 121 | } |
| 122 | |
| 123 | public void test_SSLSession_getLocalPrincipal() throws Exception { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 124 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 125 | assertNull(s.invalid.getLocalPrincipal()); |
| 126 | assertNull(s.client.getLocalPrincipal()); |
| 127 | assertNotNull(s.server.getLocalPrincipal()); |
| 128 | assertNotNull(s.server.getLocalPrincipal().getName()); |
Brian Carlstrom | 204cab3 | 2010-05-17 15:23:45 -0700 | [diff] [blame] | 129 | TestSSLContext.assertCertificateInKeyStore(s.server.getLocalPrincipal(), |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 130 | s.s.c.serverKeyStore); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 131 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 132 | } |
| 133 | |
| 134 | public void test_SSLSession_getPacketBufferSize() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 135 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 136 | assertTrue(s.invalid.getPacketBufferSize() > 0); |
| 137 | assertTrue(s.server.getPacketBufferSize() > 0); |
| 138 | assertTrue(s.client.getPacketBufferSize() > 0); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 139 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 140 | } |
| 141 | |
| 142 | public void test_SSLSession_getPeerCertificateChain() throws Exception { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 143 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 144 | try { |
| 145 | s.invalid.getPeerCertificateChain(); |
| 146 | fail(); |
Brian Carlstrom | e950513 | 2010-05-19 11:34:29 -0700 | [diff] [blame] | 147 | } catch (SSLPeerUnverifiedException expected) { |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 148 | } |
| 149 | assertNotNull(s.client.getPeerCertificates()); |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 150 | TestKeyStore.assertChainLength(s.client.getPeerCertificateChain()); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 151 | try { |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 152 | assertNull(s.server.getPeerCertificateChain()); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 153 | fail(); |
Brian Carlstrom | e950513 | 2010-05-19 11:34:29 -0700 | [diff] [blame] | 154 | } catch (SSLPeerUnverifiedException expected) { |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 155 | } |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 156 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 157 | } |
| 158 | |
| 159 | public void test_SSLSession_getPeerCertificates() throws Exception { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 160 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 161 | try { |
| 162 | s.invalid.getPeerCertificates(); |
| 163 | fail(); |
Brian Carlstrom | e950513 | 2010-05-19 11:34:29 -0700 | [diff] [blame] | 164 | } catch (SSLPeerUnverifiedException expected) { |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 165 | } |
| 166 | assertNotNull(s.client.getPeerCertificates()); |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 167 | TestKeyStore.assertChainLength(s.client.getPeerCertificates()); |
| 168 | TestSSLContext.assertServerCertificateChain(s.s.c.serverTrustManager, |
| 169 | s.client.getPeerCertificates()); |
Brian Carlstrom | 204cab3 | 2010-05-17 15:23:45 -0700 | [diff] [blame] | 170 | TestSSLContext.assertCertificateInKeyStore(s.client.getPeerCertificates()[0], |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 171 | s.s.c.serverKeyStore); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 172 | try { |
| 173 | s.server.getPeerCertificates(); |
| 174 | fail(); |
Brian Carlstrom | e950513 | 2010-05-19 11:34:29 -0700 | [diff] [blame] | 175 | } catch (SSLPeerUnverifiedException expected) { |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 176 | } |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 177 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 178 | } |
| 179 | |
| 180 | public void test_SSLSession_getPeerHost() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 181 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 182 | assertNull(s.invalid.getPeerHost()); |
| 183 | assertNotNull(s.server.getPeerHost()); |
| 184 | assertNotNull(s.client.getPeerHost()); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 185 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 186 | } |
| 187 | |
| 188 | public void test_SSLSession_getPeerPort() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 189 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 190 | assertEquals(-1, s.invalid.getPeerPort()); |
| 191 | assertTrue(s.server.getPeerPort() > 0); |
| 192 | assertEquals(s.s.c.port, s.client.getPeerPort()); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 193 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 194 | } |
| 195 | |
| 196 | public void test_SSLSession_getPeerPrincipal() throws Exception { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 197 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 198 | try { |
| 199 | s.invalid.getPeerPrincipal(); |
| 200 | fail(); |
Brian Carlstrom | e950513 | 2010-05-19 11:34:29 -0700 | [diff] [blame] | 201 | } catch (SSLPeerUnverifiedException expected) { |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 202 | } |
| 203 | try { |
| 204 | s.server.getPeerPrincipal(); |
| 205 | fail(); |
Brian Carlstrom | e950513 | 2010-05-19 11:34:29 -0700 | [diff] [blame] | 206 | } catch (SSLPeerUnverifiedException expected) { |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 207 | } |
| 208 | assertNotNull(s.client.getPeerPrincipal()); |
| 209 | assertNotNull(s.client.getPeerPrincipal().getName()); |
Brian Carlstrom | 204cab3 | 2010-05-17 15:23:45 -0700 | [diff] [blame] | 210 | TestSSLContext.assertCertificateInKeyStore(s.client.getPeerPrincipal(), |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 211 | s.s.c.serverKeyStore); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 212 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 213 | } |
| 214 | |
| 215 | public void test_SSLSession_getProtocol() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 216 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 217 | assertNotNull(s.invalid.getProtocol()); |
| 218 | assertEquals("NONE", s.invalid.getProtocol()); |
| 219 | assertNotNull(s.server.getProtocol()); |
| 220 | assertNotNull(s.client.getProtocol()); |
| 221 | assertEquals(s.server.getProtocol(), |
| 222 | s.client.getProtocol()); |
Brian Carlstrom | 9acacc3 | 2010-05-14 11:14:18 -0700 | [diff] [blame] | 223 | assertTrue(StandardNames.SSL_SOCKET_PROTOCOLS.contains(s.server.getProtocol())); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 224 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 225 | } |
| 226 | |
| 227 | public void test_SSLSession_getSessionContext() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 228 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 229 | assertNull(s.invalid.getSessionContext()); |
| 230 | assertNotNull(s.server.getSessionContext()); |
| 231 | assertNotNull(s.client.getSessionContext()); |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 232 | assertEquals(s.s.c.serverContext.getServerSessionContext(), |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 233 | s.server.getSessionContext()); |
Brian Carlstrom | 059dbc0 | 2010-07-08 14:44:44 -0700 | [diff] [blame] | 234 | assertEquals(s.s.c.clientContext.getClientSessionContext(), |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 235 | s.client.getSessionContext()); |
| 236 | assertNotSame(s.server.getSessionContext(), |
| 237 | s.client.getSessionContext()); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 238 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 239 | } |
| 240 | |
| 241 | public void test_SSLSession_getValue() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 242 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 243 | try { |
| 244 | s.invalid.getValue(null); |
Tobias Thierer | d4b7449 | 2016-09-06 13:58:49 +0100 | [diff] [blame] | 245 | fail(); |
Brian Carlstrom | e950513 | 2010-05-19 11:34:29 -0700 | [diff] [blame] | 246 | } catch (IllegalArgumentException expected) { |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 247 | } |
| 248 | assertNull(s.invalid.getValue("BOGUS")); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 249 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 250 | } |
| 251 | |
| 252 | public void test_SSLSession_getValueNames() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 253 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 254 | assertNotNull(s.invalid.getValueNames()); |
| 255 | assertEquals(0, s.invalid.getValueNames().length); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 256 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 257 | } |
| 258 | |
| 259 | public void test_SSLSession_invalidate() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 260 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 261 | |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 262 | assertFalse(s.invalid.isValid()); |
| 263 | s.invalid.invalidate(); |
| 264 | assertFalse(s.invalid.isValid()); |
| 265 | assertNull(s.invalid.getSessionContext()); |
| 266 | |
| 267 | assertTrue(s.server.isValid()); |
| 268 | s.server.invalidate(); |
| 269 | assertFalse(s.server.isValid()); |
| 270 | assertNull(s.server.getSessionContext()); |
| 271 | |
| 272 | assertTrue(s.client.isValid()); |
| 273 | s.client.invalidate(); |
| 274 | assertFalse(s.client.isValid()); |
| 275 | assertNull(s.client.getSessionContext()); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 276 | |
| 277 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 278 | } |
| 279 | |
| 280 | public void test_SSLSession_isValid() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 281 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 282 | assertFalse(s.invalid.isValid()); |
| 283 | assertTrue(s.server.isValid()); |
| 284 | assertTrue(s.client.isValid()); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 285 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 286 | } |
| 287 | |
| 288 | public void test_SSLSession_putValue() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 289 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | 8ee2e66 | 2010-04-05 11:50:10 -0700 | [diff] [blame] | 290 | String key = "KEY"; |
| 291 | String value = "VALUE"; |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 292 | assertNull(s.invalid.getValue(key)); |
| 293 | assertEquals(0, s.invalid.getValueNames().length); |
| 294 | s.invalid.putValue(key, value); |
| 295 | assertSame(value, s.invalid.getValue(key)); |
| 296 | assertEquals(1, s.invalid.getValueNames().length); |
| 297 | assertEquals(key, s.invalid.getValueNames()[0]); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 298 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 299 | } |
| 300 | |
| 301 | public void test_SSLSession_removeValue() { |
Brian Carlstrom | bcfb325 | 2010-05-02 11:27:52 -0700 | [diff] [blame] | 302 | TestSSLSessions s = TestSSLSessions.create(); |
Brian Carlstrom | 8ee2e66 | 2010-04-05 11:50:10 -0700 | [diff] [blame] | 303 | String key = "KEY"; |
| 304 | String value = "VALUE"; |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 305 | s.invalid.putValue(key, value); |
| 306 | assertEquals(1, s.invalid.getValueNames().length); |
| 307 | assertEquals(key, s.invalid.getValueNames()[0]); |
| 308 | s.invalid.removeValue(key); |
| 309 | assertNull(s.invalid.getValue(key)); |
| 310 | assertEquals(0, s.invalid.getValueNames().length); |
Brian Carlstrom | f7aab02 | 2010-09-29 17:29:11 -0700 | [diff] [blame] | 311 | s.close(); |
Brian Carlstrom | ebabb91 | 2010-04-02 14:13:53 -0700 | [diff] [blame] | 312 | } |
| 313 | } |