Index: components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/DevToolsBridgeServerTest.java |
diff --git a/components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/DevToolsBridgeServerTest.java b/components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/DevToolsBridgeServerTest.java |
index 5710a2b864cbe1ae4e6145f028a50d0bda1f42ea..9f1910a52fa23ce17f63ac690aa157b1f1272325 100644 |
--- a/components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/DevToolsBridgeServerTest.java |
+++ b/components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/DevToolsBridgeServerTest.java |
@@ -4,72 +4,65 @@ |
package org.chromium.components.devtools_bridge; |
-import android.content.Intent; |
+import android.content.Context; |
import android.net.LocalServerSocket; |
import android.net.LocalSocket; |
-import android.os.IBinder; |
-import android.test.ServiceTestCase; |
+import android.test.InstrumentationTestCase; |
import android.test.suitebuilder.annotation.SmallTest; |
import junit.framework.Assert; |
-import java.util.concurrent.Callable; |
+import org.chromium.components.devtools_bridge.util.LooperExecutor; |
+ |
+import java.util.concurrent.CountDownLatch; |
import java.util.concurrent.Future; |
/** |
* Tests for {@link DevToolsBridgeServer} |
*/ |
-public class DevToolsBridgeServerTest extends ServiceTestCase<LocalBindingTestService> { |
+public class DevToolsBridgeServerTest extends InstrumentationTestCase { |
private static final String REQUEST = "Request"; |
private static final String RESPONSE = "Response"; |
private static final String SESSION_ID = "SESSION_ID"; |
private static final String CLIENT_SOCKET_NAME = |
DevToolsBridgeServerTest.class.getName() + ".CLIENT_SOCKET_NAME"; |
+ private static final String SERVER_SOCKET_NAME = |
+ DevToolsBridgeServerTest.class.getName() + ".SERVER_SOCKET_NAME"; |
private SessionDependencyFactory mFactory; |
- public DevToolsBridgeServerTest() { |
- super(LocalBindingTestService.class); |
- } |
- |
- private void invokeOnServiceThread(Runnable runnable) { |
- getService().invokeOnServiceThread(runnable); |
- } |
- |
- private <T> T invokeOnServiceThread(Callable<T> callable) throws Exception { |
- return getService().invokeOnServiceThread(callable); |
- } |
+ private LooperExecutor mServerExecutor; |
+ private DevToolsBridgeServer mServer; |
@Override |
protected void setUp() throws Exception { |
super.setUp(); |
- setupService(); |
mFactory = SessionDependencyFactory.newInstance(); |
+ mServer = new DevToolsBridgeServer(new ServerDelegate()); |
+ mServerExecutor = LooperExecutor.newInstanceForMainLooper( |
+ getInstrumentation().getTargetContext()); |
} |
@Override |
protected void tearDown() throws Exception { |
- invokeOnServiceThread(new Runnable() { |
+ final CountDownLatch done = new CountDownLatch(1); |
+ mServerExecutor.postOnSessionThread(0, new Runnable() { |
@Override |
public void run() { |
- shutdownService(); |
+ mServer.dispose(); |
+ mServer = null; |
+ done.countDown(); |
} |
}); |
+ done.await(); |
mFactory.dispose(); |
super.tearDown(); |
} |
@SmallTest |
- public void testBind() throws Exception { |
- Assert.assertNotNull(bindService().getReceiver()); |
- } |
- |
- @SmallTest |
public void testRequestResponse() throws Exception { |
- LocalBindingTestService.LocalBinder binder = bindService(); |
- LocalServerSocket serverListeningSocket = new LocalServerSocket(binder.socketName()); |
+ LocalServerSocket serverListeningSocket = new LocalServerSocket(SERVER_SOCKET_NAME); |
ClientSessionTestingHost clientSession = new ClientSessionTestingHost( |
- mFactory, binder.getReceiver(), binder.createExecutor(), |
- SESSION_ID, CLIENT_SOCKET_NAME); |
+ mFactory, mServer, mServerExecutor, SESSION_ID, CLIENT_SOCKET_NAME); |
clientSession.start(); |
Future<String> response = TestUtils.asyncRequest(CLIENT_SOCKET_NAME, REQUEST); |
@@ -83,13 +76,18 @@ public class DevToolsBridgeServerTest extends ServiceTestCase<LocalBindingTestSe |
clientSession.dispose(); |
} |
- private LocalBindingTestService.LocalBinder bindService() throws Exception { |
- IBinder binder = invokeOnServiceThread(new Callable<IBinder>() { |
- @Override |
- public IBinder call() { |
- return bindService(new Intent(getContext(), LocalBindingTestService.class)); |
- } |
- }); |
- return (LocalBindingTestService.LocalBinder) binder; |
+ private class ServerDelegate implements DevToolsBridgeServer.Delegate { |
+ @Override |
+ public Context getContext() { |
+ return getInstrumentation().getTargetContext(); |
+ } |
+ |
+ @Override |
+ public void querySocketName(DevToolsBridgeServer.QuerySocketCallback callback) { |
+ callback.onSuccess(SERVER_SOCKET_NAME); |
+ } |
+ |
+ @Override |
+ public void onSessionCountChange(int count) {} |
} |
} |