MM-10425 Include active_channel in cluster update user status messages (#8967)

* Include active_channel in cluster update user status messages

* Update to use new ToJson method

* Update tests
Этот коммит содержится в:
Joram Wilander
2018-06-21 13:42:20 -04:00
коммит произвёл Christopher Speller
родитель d36ad6cb54
Коммит 46f969e5dd
3 изменённых файлов: 39 добавлений и 13 удалений

Просмотреть файл

@@ -7,10 +7,12 @@ import (
"encoding/json"
"strings"
"testing"
"github.com/stretchr/testify/assert"
)
func TestStatus(t *testing.T) {
status := Status{NewId(), STATUS_ONLINE, true, 0, ""}
status := Status{NewId(), STATUS_ONLINE, true, 0, "123"}
json := status.ToJson()
status2 := StatusFromJson(strings.NewReader(json))
@@ -29,10 +31,17 @@ func TestStatus(t *testing.T) {
if status.Manual != status2.Manual {
t.Fatal("Manual should have matched")
}
assert.Equal(t, "", status2.ActiveChannel)
json = status.ToClusterJson()
status2 = StatusFromJson(strings.NewReader(json))
assert.Equal(t, status.ActiveChannel, status2.ActiveChannel)
}
func TestStatusListToJson(t *testing.T) {
statuses := []*Status{{NewId(), STATUS_ONLINE, true, 0, ""}, {NewId(), STATUS_OFFLINE, true, 0, ""}}
statuses := []*Status{{NewId(), STATUS_ONLINE, true, 0, "123"}, {NewId(), STATUS_OFFLINE, true, 0, ""}}
jsonStatuses := StatusListToJson(statuses)
var dat []map[string]interface{}
@@ -40,15 +49,13 @@ func TestStatusListToJson(t *testing.T) {
panic(err)
}
if len(dat) != 2 {
t.Fatal("Status array should contain 2 elements")
}
if statuses[0].UserId != dat[0]["user_id"] {
t.Fatal("UserId should be equal")
}
if statuses[1].UserId != dat[1]["user_id"] {
t.Fatal("UserId should be equal")
}
assert.Equal(t, len(dat), 2)
_, ok := dat[0]["active_channel"]
assert.False(t, ok)
assert.Equal(t, statuses[0].ActiveChannel, "123")
assert.Equal(t, statuses[0].UserId, dat[0]["user_id"])
assert.Equal(t, statuses[1].UserId, dat[1]["user_id"])
}
func TestStatusListFromJson(t *testing.T) {