diff options
Diffstat (limited to 'x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImplTest.java')
-rw-r--r-- | x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImplTest.java | 682 |
1 files changed, 0 insertions, 682 deletions
diff --git a/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImplTest.java b/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImplTest.java deleted file mode 100644 index 2c6ac16..0000000 --- a/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImplTest.java +++ /dev/null @@ -1,682 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.harmony.xnet.provider.jsse; - -import java.io.IOException; -import java.net.Socket; -import java.net.InetSocketAddress; -import javax.net.ssl.SSLServerSocket; - -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - -/** - * SSLServerSocketImplTest test - */ -public class SSLServerSocketImplTest extends TestCase { - - private static boolean doLog = false; - - /** - * Sets up the test case. - */ - @Override - public void setUp() { - if (doLog) { - System.out.println(""); - System.out.println("========================"); - System.out.println("====== Running the test: " + getName()); - } - } - - private SSLServerSocket createSSLServerSocket() throws Exception { - return new SSLServerSocketImpl(JSSETestData.getSSLParameters()); - } - - /** - * SSLServerSocketImpl(SSLParameters sslParameters) method testing. - */ - public void testSSLServerSocketImpl1() throws Exception { - Client client = null; - SSLServerSocket ssocket = null; - try { - ssocket = new SSLServerSocketImpl(JSSETestData.getSSLParameters()); - ssocket.bind(null); - ssocket.setUseClientMode(true); - - final SSLServerSocket s = ssocket; - Thread thread = new Thread() { - @Override - public void run() { - try { - s.accept().close(); - } catch (Exception e) { - } - } - }; - - thread.start(); - - client = new Client(ssocket.getLocalPort()); - client.start(); - - int timeout = 10; // wait no more than 5 seconds for handshake - while (!client.handshakeStarted()) { - // wait for handshake start - try { - Thread.sleep(500); - } catch (Exception e) { - } - timeout--; - if (timeout < 0) { - try { - client.close(); - } catch (IOException ex) { - } - try { - ssocket.close(); - } catch (IOException ex) { - } - fail("Handshake was not started"); - } - } - } finally { - if (client != null) { - try { - client.close(); - } catch (IOException ex) { - } - } - if (ssocket != null) { - try { - ssocket.close(); - } catch (IOException ex) { - } - } - } - } - - /** - * SSLServerSocketImpl(int port, SSLParameters sslParameters) method - * testing. - */ - public void testSSLServerSocketImpl2() throws Exception { - Client client = null; - SSLServerSocket ssocket = null; - try { - ssocket = new SSLServerSocketImpl(0, - JSSETestData.getSSLParameters()); - ssocket.setUseClientMode(true); - - final SSLServerSocket s = ssocket; - Thread thread = new Thread() { - @Override - public void run() { - try { - s.accept().close(); - } catch (Exception e) { - } - } - }; - - thread.start(); - - client = new Client(ssocket.getLocalPort()); - client.start(); - - int timeout = 10; // wait no more than 5 seconds for handshake - while (!client.handshakeStarted()) { - // wait for handshake start - try { - Thread.sleep(500); - } catch (Exception e) { - } - timeout--; - if (timeout < 0) { - try { - client.close(); - } catch (IOException ex) { - } - try { - ssocket.close(); - } catch (IOException ex) { - } - fail("Handshake was not started"); - } - } - } finally { - if (client != null) { - try { - client.close(); - } catch (IOException ex) { - } - } - if (ssocket != null) { - try { - ssocket.close(); - } catch (IOException ex) { - } - } - } - } - - /** - * SSLServerSocketImpl(int port, int backlog, - * SSLParameters sslParameters) method testing. - */ - public void testSSLServerSocketImpl3() throws Exception { - Client client = null; - SSLServerSocket ssocket = null; - try { - ssocket = new SSLServerSocketImpl(0, 1, - JSSETestData.getSSLParameters()); - ssocket.setUseClientMode(true); - - final SSLServerSocket s = ssocket; - Thread thread = new Thread() { - @Override - public void run() { - try { - s.accept().close(); - } catch (Exception e) { - } - } - }; - - thread.start(); - - client = new Client(ssocket.getLocalPort()); - client.start(); - - int timeout = 10; // wait no more than 5 seconds for handshake - while (!client.handshakeStarted()) { - // wait for handshake start - try { - Thread.sleep(500); - } catch (Exception e) { - } - timeout--; - if (timeout < 0) { - try { - client.close(); - } catch (IOException ex) { - } - try { - ssocket.close(); - } catch (IOException ex) { - } - fail("Handshake was not started"); - } - } - } finally { - if (client != null) { - try { - client.close(); - } catch (IOException ex) { - } - } - if (ssocket != null) { - try { - ssocket.close(); - } catch (IOException ex) { - } - } - } - } - - /** - * SSLServerSocketImpl(int port, int backlog, InetAddress iAddress, - * SSLParameters sslParameters) method testing. - */ - public void testSSLServerSocketImpl4() throws Exception { - Client client = null; - SSLServerSocket ssocket = null; - try { - ssocket = new SSLServerSocketImpl(0, 1, null, - JSSETestData.getSSLParameters()); - ssocket.setUseClientMode(true); - - final SSLServerSocket s = ssocket; - Thread thread = new Thread() { - @Override - public void run() { - try { - s.accept().close(); - } catch (Exception e) { - } - } - }; - - thread.start(); - - client = new Client(ssocket.getLocalPort()); - client.start(); - - int timeout = 10; // wait no more than 5 seconds for handshake - while (!client.handshakeStarted()) { - // wait for handshake start - try { - Thread.sleep(500); - } catch (Exception e) { - } - timeout--; - if (timeout < 0) { - try { - client.close(); - } catch (IOException ex) { - } - try { - ssocket.close(); - } catch (IOException ex) { - } - fail("Handshake was not started"); - } - } - } finally { - if (client != null) { - try { - client.close(); - } catch (IOException ex) { - } - } - if (ssocket != null) { - try { - ssocket.close(); - } catch (IOException ex) { - } - } - } - } - - /** - * getSupportedCipherSuites() method testing. - */ - public void testGetSupportedCipherSuites() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - String[] supported = ssocket.getSupportedCipherSuites(); - assertNotNull(supported); - supported[0] = "NOT_SUPPORTED_CIPHER_SUITE"; - supported = ssocket.getEnabledCipherSuites(); - for (int i = 0; i < supported.length; i++) { - if ("NOT_SUPPORTED_CIPHER_SUITE".equals(supported[i])) { - fail("Modification of the returned result " - + "causes the modification of the internal state"); - } - } - } - - /** - * getEnabledCipherSuites() method testing. - */ - public void testGetEnabledCipherSuites() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - String[] enabled = ssocket.getEnabledCipherSuites(); - assertNotNull(enabled); - String[] supported = ssocket.getSupportedCipherSuites(); - for (int i = 0; i < enabled.length; i++) { - //System.out.println("Checking of "+enabled[i]); - found: - { - for (int j = 0; j < supported.length; j++) { - if (enabled[i].equals(supported[j])) { - break found; - } - } - fail("Enabled suite does not belong to the set " - + "of supported cipher suites: " + enabled[i]); - } - } - ssocket.setEnabledCipherSuites(supported); - for (int i = 0; i < supported.length; i++) { - enabled = new String[supported.length - i]; - System.arraycopy(supported, 0, - enabled, 0, supported.length - i); - ssocket.setEnabledCipherSuites(enabled); - String[] result = ssocket.getEnabledCipherSuites(); - if (result.length != enabled.length) { - fail("Returned result does not correspond to expected."); - } - for (int k = 0; k < result.length; k++) { - found: - { - for (int n = 0; n < enabled.length; n++) { - if (result[k].equals(enabled[n])) { - break found; - } - } - if (result.length != enabled.length) { - fail("Returned result does not correspond " - + "to expected."); - } - } - } - } - } - - /** - * setEnabledCipherSuites(String[] suites) method testing. - */ - public void testSetEnabledCipherSuites() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - String[] enabled = ssocket.getEnabledCipherSuites(); - assertNotNull(enabled); - String[] supported = ssocket.getSupportedCipherSuites(); - for (int i = 0; i < enabled.length; i++) { - //System.out.println("Checking of "+enabled[i]); - found: - { - for (int j = 0; j < supported.length; j++) { - if (enabled[i].equals(supported[j])) { - break found; - } - } - fail("Enabled suite does not belong to the set " - + "of supported cipher suites: " + enabled[i]); - } - } - ssocket.setEnabledCipherSuites(supported); - ssocket.setEnabledCipherSuites(enabled); - ssocket.setEnabledCipherSuites(supported); - String[] more_than_supported = new String[supported.length + 1]; - for (int i = 0; i < supported.length + 1; i++) { - more_than_supported[i] - = "NOT_SUPPORTED_CIPHER_SUITE"; - System.arraycopy(supported, 0, - more_than_supported, 0, i); - System.arraycopy(supported, i, - more_than_supported, i + 1, supported.length - i); - try { - ssocket.setEnabledCipherSuites(more_than_supported); - fail("Expected IllegalArgumentException was not thrown"); - } catch (IllegalArgumentException e) { - } - } - enabled = ssocket.getEnabledCipherSuites(); - enabled[0] = "NOT_SUPPORTED_CIPHER_SUITE"; - enabled = ssocket.getEnabledCipherSuites(); - for (int i = 0; i < enabled.length; i++) { - if ("NOT_SUPPORTED_CIPHER_SUITE".equals(enabled[i])) { - fail("Modification of the returned result " - + "causes the modification of the internal state"); - } - } - } - - /** - * getSupportedProtocols() method testing. - */ - public void testGetSupportedProtocols() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - String[] supported = ssocket.getSupportedProtocols(); - assertNotNull(supported); - assertFalse(supported.length == 0); - supported[0] = "NOT_SUPPORTED_PROTOCOL"; - supported = ssocket.getSupportedProtocols(); - for (int i = 0; i < supported.length; i++) { - if ("NOT_SUPPORTED_PROTOCOL".equals(supported[i])) { - fail("Modification of the returned result " - + "causes the modification of the internal state"); - } - } - } - - /** - * getEnabledProtocols() method testing. - */ - public void testGetEnabledProtocols() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - String[] enabled = ssocket.getEnabledProtocols(); - assertNotNull(enabled); - String[] supported = ssocket.getSupportedProtocols(); - for (int i = 0; i < enabled.length; i++) { - //System.out.println("Checking of "+enabled[i]); - found: - { - for (int j = 0; j < supported.length; j++) { - if (enabled[i].equals(supported[j])) { - break found; - } - } - fail("Enabled protocol does not belong to the set " - + "of supported protocols: " + enabled[i]); - } - } - ssocket.setEnabledProtocols(supported); - for (int i = 0; i < supported.length; i++) { - enabled = new String[supported.length - i]; - System.arraycopy(supported, i, - enabled, 0, supported.length - i); - //System.out.println(""); - //for (int k=0; k<supported.length - i; k++) { - // System.out.println("---- "+enabled[k]); - //} - ssocket.setEnabledProtocols(enabled); - String[] result = ssocket.getEnabledProtocols(); - if (result.length != enabled.length) { - fail("Returned result does not correspond to expected."); - } - for (int k = 0; k < result.length; k++) { - found: - { - for (int n = 0; n < enabled.length; n++) { - if (result[k].equals(enabled[n])) { - break found; - } - } - if (result.length != enabled.length) { - fail("Returned result does not correspond " - + "to expected."); - } - } - } - } - } - - /** - * setEnabledProtocols(String[] protocols) method testing. - */ - public void testSetEnabledProtocols() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - String[] enabled = ssocket.getEnabledProtocols(); - assertNotNull(enabled); - String[] supported = ssocket.getSupportedProtocols(); - for (int i = 0; i < enabled.length; i++) { - //System.out.println("Checking of "+enabled[i]); - found: - { - for (int j = 0; j < supported.length; j++) { - if (enabled[i].equals(supported[j])) { - break found; - } - } - fail("Enabled suite does not belong to the set " - + "of supported cipher suites: " + enabled[i]); - } - } - ssocket.setEnabledProtocols(supported); - ssocket.setEnabledProtocols(enabled); - ssocket.setEnabledProtocols(supported); - String[] more_than_supported = new String[supported.length + 1]; - for (int i = 0; i < supported.length + 1; i++) { - more_than_supported[i] - = "NOT_SUPPORTED_PROTOCOL"; - System.arraycopy(supported, 0, - more_than_supported, 0, i); - System.arraycopy(supported, i, - more_than_supported, i + 1, supported.length - i); - try { - ssocket.setEnabledProtocols(more_than_supported); - fail("Expected IllegalArgumentException was not thrown"); - } catch (IllegalArgumentException e) { - } - } - enabled = ssocket.getEnabledProtocols(); - enabled[0] = "NOT_SUPPORTED_PROTOCOL"; - enabled = ssocket.getEnabledProtocols(); - for (int i = 0; i < enabled.length; i++) { - if ("NOT_SUPPORTED_PROTOCOL".equals(enabled[i])) { - fail("Modification of the returned result " - + "causes the modification of the internal state"); - } - } - } - - /** - * setUseClientMode(boolean mode) method testing. - * getUseClientMode() method testing. - */ - public void testSetGetUseClientMode() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - - ssocket.setUseClientMode(false); - assertFalse("Result does not correspond to expected", - ssocket.getUseClientMode()); - ssocket.setUseClientMode(true); - assertTrue("Result does not correspond to expected", - ssocket.getUseClientMode()); - } - - /** - * setNeedClientAuth(boolean need) method testing. - * getNeedClientAuth() method testing. - */ - public void testSetGetNeedClientAuth() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - - ssocket.setWantClientAuth(true); - ssocket.setNeedClientAuth(false); - assertFalse("Result does not correspond to expected", - ssocket.getNeedClientAuth()); - assertFalse("Socket did not reset its want client auth state", - ssocket.getWantClientAuth()); - ssocket.setWantClientAuth(true); - ssocket.setNeedClientAuth(true); - assertTrue("Result does not correspond to expected", - ssocket.getNeedClientAuth()); - assertFalse("Socket did not reset its want client auth state", - ssocket.getWantClientAuth()); - } - - /** - * setWantClientAuth(boolean want) method testing. - * getWantClientAuth() method testing. - */ - public void testSetGetWantClientAuth() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - - ssocket.setNeedClientAuth(true); - ssocket.setWantClientAuth(false); - assertFalse("Result does not correspond to expected", - ssocket.getWantClientAuth()); - assertFalse("Socket did not reset its want client auth state", - ssocket.getNeedClientAuth()); - ssocket.setNeedClientAuth(true); - ssocket.setWantClientAuth(true); - assertTrue("Result does not correspond to expected", - ssocket.getWantClientAuth()); - assertFalse("Socket did not reset its want client auth state", - ssocket.getNeedClientAuth()); - } - - /** - * setEnableSessionCreation(boolean flag) method testing. - * getEnableSessionCreation() method testing. - */ - public void testSetGetEnableSessionCreation() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - - ssocket.setEnableSessionCreation(false); - assertFalse("Result does not correspond to expected", - ssocket.getEnableSessionCreation()); - ssocket.setEnableSessionCreation(true); - assertTrue("Result does not correspond to expected", - ssocket.getEnableSessionCreation()); - } - - /** - * toString() method testing. - */ - public void testToString() throws Exception { - SSLServerSocket ssocket = createSSLServerSocket(); - assertNotNull("String representation is null", ssocket.toString()); - } - - private static class Client extends Thread { - - private boolean closed; - private boolean handshake_started = false; - private Socket client = null; - private int port; - - public Client(int port) throws IOException { - super(); - this.port = port; - client = new Socket(); - client.setSoTimeout(10000); - } - - public int getPort() { - return client.getLocalPort(); - } - - @Override - public void run() { - while (!closed) { - try { - if (doLog) { - System.out.print("."); - } - if (!handshake_started) { - client.connect( - new InetSocketAddress("localhost", port)); - client.getInputStream().read(); - handshake_started = true; - } - Thread.sleep(1000); - } catch (Exception e) { - e.printStackTrace(); - } - } - if (client != null) { - try { - client.close(); - } catch (IOException e) { - } - } - //System.out.println("===== client has been stopped"); - } - - public boolean handshakeStarted() { - return handshake_started; - } - - public void close() throws IOException { - closed = true; - client.close(); - } - - } - - ; - - public static Test suite() { - return new TestSuite(SSLServerSocketImplTest.class); - } - -} |