Fixing parsing of device Ids (#5580)

This commit is contained in:
Corey Hulen
2017-03-01 12:33:16 -05:00
committed by GitHub
parent 71e6a423e8
commit 633e894e4f
2 changed files with 80 additions and 4 deletions

View File

@@ -49,10 +49,11 @@ func (me *PushNotification) ToJson() string {
func (me *PushNotification) SetDeviceIdAndPlatform(deviceId string) {
parts := strings.Split(deviceId, ":")
if len(parts) == 2 {
me.Platform = parts[0]
me.DeviceId = parts[1]
index := strings.Index(deviceId, ":")
if index > -1 {
me.Platform = deviceId[:index]
me.DeviceId = deviceId[index+1:]
}
}

View File

@@ -17,3 +17,78 @@ func TestPushNotification(t *testing.T) {
t.Fatal("Ids do not match")
}
}
func TestPushNotificationDeviceId(t *testing.T) {
msg := PushNotification{Platform: "test"}
msg.SetDeviceIdAndPlatform("android:12345")
if msg.Platform != "android" {
t.Fatal(msg.Platform)
}
if msg.DeviceId != "12345" {
t.Fatal(msg.DeviceId)
}
msg.Platform = ""
msg.DeviceId = ""
msg.SetDeviceIdAndPlatform("android:12:345")
if msg.Platform != "android" {
t.Fatal(msg.Platform)
}
if msg.DeviceId != "12:345" {
t.Fatal(msg.DeviceId)
}
msg.Platform = ""
msg.DeviceId = ""
msg.SetDeviceIdAndPlatform("android::12345")
if msg.Platform != "android" {
t.Fatal(msg.Platform)
}
if msg.DeviceId != ":12345" {
t.Fatal(msg.DeviceId)
}
msg.Platform = ""
msg.DeviceId = ""
msg.SetDeviceIdAndPlatform(":12345")
if msg.Platform != "" {
t.Fatal(msg.Platform)
}
if msg.DeviceId != "12345" {
t.Fatal(msg.DeviceId)
}
msg.Platform = ""
msg.DeviceId = ""
msg.SetDeviceIdAndPlatform("android:")
if msg.Platform != "android" {
t.Fatal(msg.Platform)
}
if msg.DeviceId != "" {
t.Fatal(msg.DeviceId)
}
msg.Platform = ""
msg.DeviceId = ""
msg.SetDeviceIdAndPlatform("")
if msg.Platform != "" {
t.Fatal(msg.Platform)
}
if msg.DeviceId != "" {
t.Fatal(msg.DeviceId)
}
msg.Platform = ""
msg.DeviceId = ""
msg.SetDeviceIdAndPlatform(":")
if msg.Platform != "" {
t.Fatal(msg.Platform)
}
if msg.DeviceId != "" {
t.Fatal(msg.DeviceId)
}
msg.Platform = ""
msg.DeviceId = ""
}