summaryrefslogtreecommitdiff
path: root/x-net/src/test/impl/java.injected/org/apache/harmony/xnet/provider/jsse/SSLServerSocketImplTest.java
diff options
context:
space:
mode:
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.java682
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);
- }
-
-}