Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(297)

Unified Diff: components/devtools_bridge/android/javatests/src/org/chromium/components/devtools_bridge/DevToolsBridgeServerTest.java

Issue 811623005: Refactoring DevToolsBridgeServer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {}
}
}

Powered by Google App Engine
This is Rietveld 408576698