Skip to content

Commit 8816840

Browse files
committed
Add test case for subscription error with malformed presence event data
1 parent 8bb6d12 commit 8816840

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/test/java/com/pusher/client/channel/impl/PresenceChannelImplTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public class PresenceChannelImplTest extends PrivateChannelImplTest {
3030
private static final String AUTH_RESPONSE = "\"auth\":\"a87fe72c6f36272aa4b1:f9db294eae7\",\"channel_data\":\"{\\\"user_id\\\":\\\"5116a4519575b\\\",\\\"user_info\\\":{\\\"name\\\":\\\"Phil Leggetter\\\",\\\"twitter_id\\\":\\\"@leggetter\\\"}}\"";
3131
private static final String AUTH_RESPONSE_NUMERIC_ID = "\"auth\":\"a87fe72c6f36272aa4b1:f9db294eae7\",\"channel_data\":\"{\\\"user_id\\\":51169,\\\"user_info\\\":{\\\"name\\\":\\\"Phil Leggetter\\\",\\\"twitter_id\\\":\\\"@leggetter\\\"}}\"";
3232
private static final String USER_ID = "5116a4519575b";
33+
private static final String ERROR_NO_PRESENCE_DATA = "Subscription failed: Presence data not found";
3334

3435
@Mock
3536
private PresenceChannelEventListener mockEventListener;
@@ -77,6 +78,17 @@ public void testIsSubscribedMethod(){
7778
assertTrue(channel.isSubscribed());
7879
}
7980

81+
@Test
82+
public void testInternalSubscriptionSucceededMessageWithNoPresenceDataReturnsError(){
83+
final String eventName = "pusher_internal:subscription_succeeded";
84+
final Map<String, Object> data = new LinkedHashMap<String, Object>();
85+
86+
channel.onMessage(eventName, eventJson(eventName, data, getChannelName()));
87+
88+
final InOrder inOrder = inOrder(mockEventListener);
89+
inOrder.verify(mockEventListener).onError(eq(ERROR_NO_PRESENCE_DATA), eq(null));
90+
}
91+
8092
@Test
8193
@Override
8294
@SuppressWarnings({ "rawtypes", "unchecked" })

0 commit comments

Comments
 (0)