Skip to content

Commit

Permalink
pushexpiry should be in milliseconds
Browse files Browse the repository at this point in the history
  • Loading branch information
felipejfc committed Oct 23, 2017
1 parent 1f6f681 commit 9561fa7
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 7 deletions.
2 changes: 1 addition & 1 deletion extensions/apns_message_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ func (a *APNSMessageHandler) sendMessage(message interfaces.KafkaMessage) error
l.WithError(err).Error("error marshaling message payload")
return err
}
if n.PushExpiry > 0 && n.PushExpiry < time.Now().Unix() {
if n.PushExpiry > 0 && n.PushExpiry < makeTimestamp() {
l.Warnf("ignoring push message because it has expired: %s", n.Payload)
a.ignoredMessages++
if a.pendingMessagesWG != nil {
Expand Down
4 changes: 2 additions & 2 deletions extensions/apns_message_handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,7 @@ var _ = FDescribe("APNS Message Handler", func() {
It("should not send message if PushExpiry is in the past", func() {
handler.sendMessage(interfaces.KafkaMessage{
Topic: "push-game_apns",
Value: []byte(fmt.Sprintf(`{ "aps" : { "alert" : "Hello HTTP/2" }, "push_expiry": %d }`, time.Now().Unix()-int64(100))),
Value: []byte(fmt.Sprintf(`{ "aps" : { "alert" : "Hello HTTP/2" }, "push_expiry": %d }`, makeTimestamp()-int64(100))),
})
Eventually(handler.PushQueue.ResponseChannel(), 5*time.Second).ShouldNot(Receive())
Expect(handler.sentMessages).To(Equal(int64(0)))
Expand All @@ -635,7 +635,7 @@ var _ = FDescribe("APNS Message Handler", func() {
It("should send message if PushExpiry is in the future", func() {
handler.sendMessage(interfaces.KafkaMessage{
Topic: "push-game_apns",
Value: []byte(fmt.Sprintf(`{ "aps" : { "alert" : "Hello HTTP/2" }, "push_expiry": %d}`, time.Now().Unix()+int64(100))),
Value: []byte(fmt.Sprintf(`{ "aps" : { "alert" : "Hello HTTP/2" }, "push_expiry": %d}`, makeTimestamp()+int64(100))),
})
Eventually(handler.PushQueue.ResponseChannel(), 5*time.Second).ShouldNot(Receive())
Expect(handler.sentMessages).To(Equal(int64(1)))
Expand Down
2 changes: 1 addition & 1 deletion extensions/gcm_message_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ func (g *GCMMessageHandler) sendMessage(message interfaces.KafkaMessage) error {
l.WithError(err).Error("Error unmarshaling message.")
return err
}
if km.PushExpiry > 0 && km.PushExpiry < time.Now().Unix() {
if km.PushExpiry > 0 && km.PushExpiry < makeTimestamp() {
l.Warnf("ignoring push message because it has expired: %s", km.Data)
g.ignoredMessages++
if g.pendingMessagesWG != nil {
Expand Down
6 changes: 3 additions & 3 deletions extensions/gcm_message_handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ var _ = Describe("GCM Message Handler", func() {
Data: map[string]interface{}{},
},
metadata,
time.Now().Unix() + int64(1000000),
makeTimestamp() + int64(1000000),
}
msgBytes, err := json.Marshal(msg)
Expect(err).NotTo(HaveOccurred())
Expand Down Expand Up @@ -252,7 +252,7 @@ var _ = Describe("GCM Message Handler", func() {
Data: map[string]interface{}{},
},
metadata,
time.Now().Unix() - int64(100),
makeTimestamp() - int64(100),
}
msgBytes, err := json.Marshal(msg)
Expect(err).NotTo(HaveOccurred())
Expand Down Expand Up @@ -322,7 +322,7 @@ var _ = Describe("GCM Message Handler", func() {
Data: map[string]interface{}{},
},
metadata,
time.Now().Unix() + int64(1000000),
makeTimestamp() + int64(1000000),
}
msgBytes, err := json.Marshal(msg)
Expect(err).NotTo(HaveOccurred())
Expand Down
9 changes: 9 additions & 0 deletions extensions/utils.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package extensions

import (
"time"
)

func makeTimestamp() int64 {
return time.Now().UnixNano() / (int64(time.Millisecond)/int64(time.Nanosecond))
}

0 comments on commit 9561fa7

Please sign in to comment.