diff --git a/server/message_cache_test.go b/server/message_cache_test.go index 79b7fc54..d51294e9 100644 --- a/server/message_cache_test.go +++ b/server/message_cache_test.go @@ -32,8 +32,8 @@ func testCacheMessages(t *testing.T, c *messageCache) { require.Nil(t, c.AddMessage(m2)) // Adding invalid - require.Equal(t, errUnexpectedMessageType, c.AddMessage(newKeepaliveMessage("mytopic"))) // These should not be added! - require.Equal(t, errUnexpectedMessageType, c.AddMessage(newOpenMessage("example"))) // These should not be added! + require.Equal(t, errUnexpectedMessageType, c.AddMessage(newKeepaliveMessage("mytopic"))) // These should not be added! + require.Equal(t, errUnexpectedMessageType, c.AddMessage(newOpenMessage("example", false))) // These should not be added! // mytopic: count counts, err := c.MessageCounts() diff --git a/server/server_firebase_test.go b/server/server_firebase_test.go index 9b653a29..2740fc85 100644 --- a/server/server_firebase_test.go +++ b/server/server_firebase_test.go @@ -92,7 +92,7 @@ func TestToFirebaseMessage_Keepalive(t *testing.T) { } func TestToFirebaseMessage_Open(t *testing.T) { - m := newOpenMessage("mytopic") + m := newOpenMessage("mytopic", false) fbm, err := toFirebaseMessage(m, nil) require.Nil(t, err) require.Equal(t, "mytopic", fbm.Topic) diff --git a/server/types.go b/server/types.go index fb08fb05..83b0ca9b 100644 --- a/server/types.go +++ b/server/types.go @@ -17,6 +17,7 @@ const ( keepaliveEvent = "keepalive" messageEvent = "message" pollRequestEvent = "poll_request" + createdNewTopicParameter = "new_topic" ) const ( @@ -123,8 +124,12 @@ func newMessage(event, topic, msg string) *message { } // newOpenMessage is a convenience method to create an open message -func newOpenMessage(topic string) *message { - return newMessage(openEvent, topic, "") +func newOpenMessage(topic string, createdNewTopics bool) *message { + msg := "" + if createdNewTopics { // can expand this to a comma seperated string for more future parameters + msg = createdNewTopicParameter + } + return newMessage(openEvent, topic, msg) } // newKeepaliveMessage is a convenience method to create a keepalive message