| package tests.api.javax.net.ssl; |
| |
| import junit.framework.TestCase; |
| |
| import javax.net.ssl.SSLContext; |
| import javax.net.ssl.SSLSessionContext; |
| |
| import java.security.KeyManagementException; |
| import java.security.NoSuchAlgorithmException; |
| |
| /** |
| * Tests for <code>SSLSessionContext</code> class constructors and methods. |
| */ |
| public class SSLSessionContextTest extends TestCase { |
| |
| /** |
| * @throws NoSuchAlgorithmException |
| * @throws KeyManagementException |
| * javax.net.ssl.SSLSessionContex#getSessionCacheSize() |
| * javax.net.ssl.SSLSessionContex#setSessionCacheSize(int size) |
| */ |
| public final void test_sessionCacheSize() throws NoSuchAlgorithmException, KeyManagementException { |
| SSLContext context = SSLContext.getInstance("TLS"); |
| context.init(null, null, null); |
| SSLSessionContext sc = context |
| .getClientSessionContext(); |
| sc.setSessionCacheSize(10); |
| assertEquals("10 wasn't returned", 10, sc.getSessionCacheSize()); |
| sc.setSessionCacheSize(5); |
| assertEquals("5 wasn't returned", 5, sc.getSessionCacheSize()); |
| |
| try { |
| sc.setSessionCacheSize(-1); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } |
| } |
| |
| /** |
| * @throws NoSuchAlgorithmException |
| * @throws KeyManagementException |
| * javax.net.ssl.SSLSessionContex#getSessionTimeout() |
| * javax.net.ssl.SSLSessionContex#setSessionTimeout(int seconds) |
| */ |
| public final void test_sessionTimeout() throws NoSuchAlgorithmException, KeyManagementException { |
| SSLContext context = SSLContext.getInstance("TLS"); |
| context.init(null, null, null); |
| SSLSessionContext sc = context |
| .getClientSessionContext(); |
| sc.setSessionTimeout(100); |
| assertEquals("100 wasn't returned", 100, sc.getSessionTimeout()); |
| sc.setSessionTimeout(5000); |
| assertEquals("5000 wasn't returned", 5000, sc.getSessionTimeout()); |
| |
| try { |
| sc.setSessionTimeout(-1); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } |
| } |
| |
| /** |
| * @throws NoSuchAlgorithmException |
| * @throws KeyManagementException |
| * javax.net.ssl.SSLSessionContex#getSession(byte[] sessionId) |
| */ |
| public final void test_getSession() throws NoSuchAlgorithmException, KeyManagementException { |
| SSLContext context = SSLContext.getInstance("TLS"); |
| context.init(null, null, null); |
| SSLSessionContext sc = context |
| .getClientSessionContext(); |
| try { |
| sc.getSession(null); |
| } catch (NullPointerException e) { |
| // expected |
| } |
| assertNull(sc.getSession(new byte[5])); |
| } |
| |
| /** |
| * @throws NoSuchAlgorithmException |
| * @throws KeyManagementException |
| * javax.net.ssl.SSLSessionContex#getIds() |
| */ |
| public final void test_getIds() throws NoSuchAlgorithmException, KeyManagementException { |
| SSLContext context = SSLContext.getInstance("TLS"); |
| context.init(null, null, null); |
| SSLSessionContext sc = context |
| .getClientSessionContext(); |
| assertFalse(sc.getIds().hasMoreElements()); |
| } |
| |
| } |