From e4f1a56cfc39b0d82363ccad36ca0c9a92f70818 Mon Sep 17 00:00:00 2001 From: nkzawa Date: Wed, 12 Jul 2017 12:30:12 +0900 Subject: [PATCH] test: shutdown okhttpclient --- .../io/socket/engineio/client/ExecutionTest.java | 2 +- .../engineio/client/executions/Connection.java | 14 +++++++++++++- .../client/executions/ConnectionFailure.java | 9 ++++++++- .../engineio/client/executions/ImmediateClose.java | 9 ++++++++- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/test/java/io/socket/engineio/client/ExecutionTest.java b/src/test/java/io/socket/engineio/client/ExecutionTest.java index 4f6a32e..a24a6f8 100644 --- a/src/test/java/io/socket/engineio/client/ExecutionTest.java +++ b/src/test/java/io/socket/engineio/client/ExecutionTest.java @@ -17,7 +17,7 @@ public class ExecutionTest extends Connection { private static final Logger logger = Logger.getLogger(Socket.class.getName()); - final static int TIMEOUT = 100 * 1000; + final static int TIMEOUT = 30 * 1000; @Test(timeout = TIMEOUT) public void execConnection() throws InterruptedException, IOException { diff --git a/src/test/java/io/socket/engineio/client/executions/Connection.java b/src/test/java/io/socket/engineio/client/executions/Connection.java index ac91686..0bc7e0b 100644 --- a/src/test/java/io/socket/engineio/client/executions/Connection.java +++ b/src/test/java/io/socket/engineio/client/executions/Connection.java @@ -2,13 +2,19 @@ package io.socket.engineio.client.executions; import io.socket.emitter.Emitter; import io.socket.engineio.client.Socket; +import okhttp3.OkHttpClient; import java.net.URISyntaxException; public class Connection { public static void main(String[] args) throws URISyntaxException { - final Socket socket = new Socket("http://localhost:" + System.getenv("PORT")); + final OkHttpClient client = new OkHttpClient(); + Socket.Options opts = new Socket.Options(); + opts.webSocketFactory = client; + opts.callFactory = client; + + final Socket socket = new Socket("http://localhost:" + System.getenv("PORT"), opts); socket.on(Socket.EVENT_OPEN, new Emitter.Listener() { @Override public void call(Object... args) { @@ -16,6 +22,12 @@ public class Connection { socket.close(); } }); + socket.on(Socket.EVENT_CLOSE, new Emitter.Listener() { + @Override + public void call(Object... args) { + client.dispatcher().executorService().shutdown(); + } + }); socket.open(); } } diff --git a/src/test/java/io/socket/engineio/client/executions/ConnectionFailure.java b/src/test/java/io/socket/engineio/client/executions/ConnectionFailure.java index 5450113..890fe1d 100644 --- a/src/test/java/io/socket/engineio/client/executions/ConnectionFailure.java +++ b/src/test/java/io/socket/engineio/client/executions/ConnectionFailure.java @@ -2,15 +2,21 @@ package io.socket.engineio.client.executions; import io.socket.emitter.Emitter; import io.socket.engineio.client.Socket; +import okhttp3.OkHttpClient; import java.net.URISyntaxException; public class ConnectionFailure { public static void main(String[] args) throws URISyntaxException { + final OkHttpClient client = new OkHttpClient(); + Socket.Options opts = new Socket.Options(); + opts.webSocketFactory = client; + opts.callFactory = client; + int port = Integer.parseInt(System.getenv("PORT")); port++; - final Socket socket = new Socket("http://localhost:" + port); + final Socket socket = new Socket("http://localhost:" + port, opts); socket.on(Socket.EVENT_CLOSE, new Emitter.Listener() { @Override public void call(Object... args) { @@ -20,6 +26,7 @@ public class ConnectionFailure { @Override public void call(Object... args) { System.out.println("error"); + client.dispatcher().executorService().shutdown(); } }); socket.open(); diff --git a/src/test/java/io/socket/engineio/client/executions/ImmediateClose.java b/src/test/java/io/socket/engineio/client/executions/ImmediateClose.java index c90b11f..0c08715 100644 --- a/src/test/java/io/socket/engineio/client/executions/ImmediateClose.java +++ b/src/test/java/io/socket/engineio/client/executions/ImmediateClose.java @@ -2,13 +2,19 @@ package io.socket.engineio.client.executions; import io.socket.emitter.Emitter; import io.socket.engineio.client.Socket; +import okhttp3.OkHttpClient; import java.net.URISyntaxException; public class ImmediateClose { public static void main(String[] args) throws URISyntaxException { - final Socket socket = new Socket("http://localhost:" + System.getenv("PORT")); + final OkHttpClient client = new OkHttpClient(); + Socket.Options opts = new Socket.Options(); + opts.webSocketFactory = client; + opts.callFactory = client; + + final Socket socket = new Socket("http://localhost:" + System.getenv("PORT"), opts); socket.on(Socket.EVENT_OPEN, new Emitter.Listener() { @Override public void call(Object... args) { @@ -18,6 +24,7 @@ public class ImmediateClose { @Override public void call(Object... args) { System.out.println("close"); + client.dispatcher().executorService().shutdown(); } }); socket.open();