mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-04 09:27:53 +08:00
break dependency between JSPackagerClient.RequestHandler and WebSocketListener
Reviewed By: amnn Differential Revision: D4810406 fbshipit-source-id: a447bc15c6619921edd7adf0b3d1d93ae04e2e43
This commit is contained in:
committed by
Facebook Github Bot
parent
ec68c97d72
commit
175e77d004
@@ -25,10 +25,10 @@ import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class JSPackagerClientTest {
|
||||
private static Map<String, JSPackagerClient.RequestHandler> createRH(
|
||||
String action, JSPackagerClient.RequestHandler handler) {
|
||||
Map<String, JSPackagerClient.RequestHandler> m =
|
||||
new HashMap<String, JSPackagerClient.RequestHandler>();
|
||||
private static Map<String, RequestHandler> createRH(
|
||||
String action, RequestHandler handler) {
|
||||
Map<String, RequestHandler> m =
|
||||
new HashMap<String, RequestHandler>();
|
||||
m.put(action, handler);
|
||||
return m;
|
||||
}
|
||||
@@ -44,7 +44,7 @@ public class JSPackagerClientTest {
|
||||
|
||||
@Test
|
||||
public void test_onMessage_ShouldTriggerNotification() throws IOException {
|
||||
JSPackagerClient.RequestHandler handler = mock(JSPackagerClient.RequestHandler.class);
|
||||
RequestHandler handler = mock(RequestHandler.class);
|
||||
final JSPackagerClient client = new JSPackagerClient("test_client", mSettings, createRH("methodValue", handler));
|
||||
|
||||
client.onMessage(
|
||||
@@ -52,12 +52,12 @@ public class JSPackagerClientTest {
|
||||
WebSocket.TEXT,
|
||||
"{\"version\": 2, \"method\": \"methodValue\", \"params\": \"paramsValue\"}"));
|
||||
verify(handler).onNotification(eq("paramsValue"));
|
||||
verify(handler, never()).onRequest(any(), any(JSPackagerClient.Responder.class));
|
||||
verify(handler, never()).onRequest(any(), any(Responder.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_onMessage_ShouldTriggerRequest() throws IOException {
|
||||
JSPackagerClient.RequestHandler handler = mock(JSPackagerClient.RequestHandler.class);
|
||||
RequestHandler handler = mock(RequestHandler.class);
|
||||
final JSPackagerClient client = new JSPackagerClient("test_client", mSettings, createRH("methodValue", handler));
|
||||
|
||||
client.onMessage(
|
||||
@@ -65,12 +65,12 @@ public class JSPackagerClientTest {
|
||||
WebSocket.TEXT,
|
||||
"{\"version\": 2, \"id\": \"idValue\", \"method\": \"methodValue\", \"params\": \"paramsValue\"}"));
|
||||
verify(handler, never()).onNotification(any());
|
||||
verify(handler).onRequest(eq("paramsValue"), any(JSPackagerClient.Responder.class));
|
||||
verify(handler).onRequest(eq("paramsValue"), any(Responder.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_onMessage_WithoutParams_ShouldTriggerNotification() throws IOException {
|
||||
JSPackagerClient.RequestHandler handler = mock(JSPackagerClient.RequestHandler.class);
|
||||
RequestHandler handler = mock(RequestHandler.class);
|
||||
final JSPackagerClient client = new JSPackagerClient("test_client", mSettings, createRH("methodValue", handler));
|
||||
|
||||
client.onMessage(
|
||||
@@ -78,12 +78,12 @@ public class JSPackagerClientTest {
|
||||
WebSocket.TEXT,
|
||||
"{\"version\": 2, \"method\": \"methodValue\"}"));
|
||||
verify(handler).onNotification(eq(null));
|
||||
verify(handler, never()).onRequest(any(), any(JSPackagerClient.Responder.class));
|
||||
verify(handler, never()).onRequest(any(), any(Responder.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_onMessage_WithInvalidContentType_ShouldNotTriggerCallback() throws IOException {
|
||||
JSPackagerClient.RequestHandler handler = mock(JSPackagerClient.RequestHandler.class);
|
||||
RequestHandler handler = mock(RequestHandler.class);
|
||||
final JSPackagerClient client = new JSPackagerClient("test_client", mSettings, createRH("methodValue", handler));
|
||||
|
||||
client.onMessage(
|
||||
@@ -91,12 +91,12 @@ public class JSPackagerClientTest {
|
||||
WebSocket.BINARY,
|
||||
"{\"version\": 2, \"method\": \"methodValue\"}"));
|
||||
verify(handler, never()).onNotification(any());
|
||||
verify(handler, never()).onRequest(any(), any(JSPackagerClient.Responder.class));
|
||||
verify(handler, never()).onRequest(any(), any(Responder.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_onMessage_WithoutMethod_ShouldNotTriggerCallback() throws IOException {
|
||||
JSPackagerClient.RequestHandler handler = mock(JSPackagerClient.RequestHandler.class);
|
||||
RequestHandler handler = mock(RequestHandler.class);
|
||||
final JSPackagerClient client = new JSPackagerClient("test_client", mSettings, createRH("methodValue", handler));
|
||||
|
||||
client.onMessage(
|
||||
@@ -104,12 +104,12 @@ public class JSPackagerClientTest {
|
||||
WebSocket.TEXT,
|
||||
"{\"version\": 2}"));
|
||||
verify(handler, never()).onNotification(any());
|
||||
verify(handler, never()).onRequest(any(), any(JSPackagerClient.Responder.class));
|
||||
verify(handler, never()).onRequest(any(), any(Responder.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_onMessage_With_Null_Action_ShouldNotTriggerCallback() throws IOException {
|
||||
JSPackagerClient.RequestHandler handler = mock(JSPackagerClient.RequestHandler.class);
|
||||
RequestHandler handler = mock(RequestHandler.class);
|
||||
final JSPackagerClient client = new JSPackagerClient("test_client", mSettings, createRH("methodValue", handler));
|
||||
|
||||
client.onMessage(
|
||||
@@ -117,12 +117,12 @@ public class JSPackagerClientTest {
|
||||
WebSocket.TEXT,
|
||||
"{\"version\": 2, \"method\": null}"));
|
||||
verify(handler, never()).onNotification(any());
|
||||
verify(handler, never()).onRequest(any(), any(JSPackagerClient.Responder.class));
|
||||
verify(handler, never()).onRequest(any(), any(Responder.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_onMessage_WithInvalidMethod_ShouldNotTriggerCallback() throws IOException {
|
||||
JSPackagerClient.RequestHandler handler = mock(JSPackagerClient.RequestHandler.class);
|
||||
RequestHandler handler = mock(RequestHandler.class);
|
||||
final JSPackagerClient client = new JSPackagerClient("test_client", mSettings, createRH("methodValue", handler));
|
||||
|
||||
client.onMessage(
|
||||
@@ -130,12 +130,12 @@ public class JSPackagerClientTest {
|
||||
WebSocket.BINARY,
|
||||
"{\"version\": 2, \"method\": \"methodValue2\"}"));
|
||||
verify(handler, never()).onNotification(any());
|
||||
verify(handler, never()).onRequest(any(), any(JSPackagerClient.Responder.class));
|
||||
verify(handler, never()).onRequest(any(), any(Responder.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_onMessage_WrongVersion_ShouldNotTriggerCallback() throws IOException {
|
||||
JSPackagerClient.RequestHandler handler = mock(JSPackagerClient.RequestHandler.class);
|
||||
RequestHandler handler = mock(RequestHandler.class);
|
||||
final JSPackagerClient client = new JSPackagerClient("test_client", mSettings, createRH("methodValue", handler));
|
||||
|
||||
client.onMessage(
|
||||
@@ -143,6 +143,6 @@ public class JSPackagerClientTest {
|
||||
WebSocket.TEXT,
|
||||
"{\"version\": 1, \"method\": \"methodValue\"}"));
|
||||
verify(handler, never()).onNotification(any());
|
||||
verify(handler, never()).onRequest(any(), any(JSPackagerClient.Responder.class));
|
||||
verify(handler, never()).onRequest(any(), any(Responder.class));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user