diff --git a/src/main/java/com/pusher/client/channel/PusherEvent.java b/src/main/java/com/pusher/client/channel/PusherEvent.java index e60ab529..716f37c8 100644 --- a/src/main/java/com/pusher/client/channel/PusherEvent.java +++ b/src/main/java/com/pusher/client/channel/PusherEvent.java @@ -70,7 +70,9 @@ public String toString() { public PusherEvent(String event, String channel, String userId, String data) { jsonObject.addProperty("event", event); jsonObject.addProperty("channel", channel); - jsonObject.addProperty("userId", userId); + if (userId != null) { + jsonObject.addProperty("user_id", userId); + } jsonObject.addProperty("data", data); } diff --git a/src/test/java/com/pusher/client/channel/PusherEventTest.java b/src/test/java/com/pusher/client/channel/PusherEventTest.java index c2312f6f..fc57835e 100644 --- a/src/test/java/com/pusher/client/channel/PusherEventTest.java +++ b/src/test/java/com/pusher/client/channel/PusherEventTest.java @@ -1,6 +1,7 @@ package com.pusher.client.channel; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import org.junit.Before; import org.junit.Test; @@ -45,6 +46,19 @@ public void testUserIdIsExtracted() { ); assertEquals("my-user-id", e.getUserId()); } + + @Test + public void testUserIdIsSetByConstructor() { + final PusherEvent e = new PusherEvent("my-event", "my-channel", "my-user-id", "{}"); + assertEquals("my-user-id", e.getUserId()); + } + + @Test + public void testNullUserIdFromConstructorIsNull() { + final PusherEvent e = new PusherEvent("my-event", "my-channel", null, "{}"); + assertNull(e.getUserId()); + } + @Test public void testErrorData() { final PusherEvent e = PusherEvent.fromJson(