add the "new_topic" param to the open message

This commit is contained in:
Karmanyaah Malhotra 2023-12-17 16:58:28 -06:00
parent 8f5213ab1a
commit 9bbb1ac064
3 changed files with 10 additions and 5 deletions

View file

@ -32,8 +32,8 @@ func testCacheMessages(t *testing.T, c *messageCache) {
require.Nil(t, c.AddMessage(m2)) require.Nil(t, c.AddMessage(m2))
// Adding invalid // Adding invalid
require.Equal(t, errUnexpectedMessageType, c.AddMessage(newKeepaliveMessage("mytopic"))) // 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"))) // These should not be added! require.Equal(t, errUnexpectedMessageType, c.AddMessage(newOpenMessage("example", false))) // These should not be added!
// mytopic: count // mytopic: count
counts, err := c.MessageCounts() counts, err := c.MessageCounts()

View file

@ -92,7 +92,7 @@ func TestToFirebaseMessage_Keepalive(t *testing.T) {
} }
func TestToFirebaseMessage_Open(t *testing.T) { func TestToFirebaseMessage_Open(t *testing.T) {
m := newOpenMessage("mytopic") m := newOpenMessage("mytopic", false)
fbm, err := toFirebaseMessage(m, nil) fbm, err := toFirebaseMessage(m, nil)
require.Nil(t, err) require.Nil(t, err)
require.Equal(t, "mytopic", fbm.Topic) require.Equal(t, "mytopic", fbm.Topic)

View file

@ -17,6 +17,7 @@ const (
keepaliveEvent = "keepalive" keepaliveEvent = "keepalive"
messageEvent = "message" messageEvent = "message"
pollRequestEvent = "poll_request" pollRequestEvent = "poll_request"
createdNewTopicParameter = "new_topic"
) )
const ( const (
@ -123,8 +124,12 @@ func newMessage(event, topic, msg string) *message {
} }
// newOpenMessage is a convenience method to create an open message // newOpenMessage is a convenience method to create an open message
func newOpenMessage(topic string) *message { func newOpenMessage(topic string, createdNewTopics bool) *message {
return newMessage(openEvent, topic, "") 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 // newKeepaliveMessage is a convenience method to create a keepalive message