Skip to content
Snippets Groups Projects
Commit 8251db7e authored by Jono Wenger's avatar Jono Wenger
Browse files

Fix nickname saving bug

parent fe87f3ae
Branches
Tags
4 merge requests!510Release,!419rewrote the health tracker to both consider if there are waiting rounds and...,!397Fully Decentralized channels,!340Project/channels
...@@ -77,8 +77,8 @@ func (nm *nicknameManager) DeleteNickname(ch *id.ID) error { ...@@ -77,8 +77,8 @@ func (nm *nicknameManager) DeleteNickname(ch *id.ID) error {
// channelIDToNickname is a serialization structure. This is used by the save // channelIDToNickname is a serialization structure. This is used by the save
// and load functions to serialize the nicknameManager's byChannel map. // and load functions to serialize the nicknameManager's byChannel map.
type channelIDToNickname struct { type channelIDToNickname struct {
channelId id.ID ChannelId id.ID
nickname string Nickname string
} }
// save stores the nickname manager to disk. The caller of this must // save stores the nickname manager to disk. The caller of this must
...@@ -87,8 +87,8 @@ func (nm *nicknameManager) save() error { ...@@ -87,8 +87,8 @@ func (nm *nicknameManager) save() error {
list := make([]channelIDToNickname, 0) list := make([]channelIDToNickname, 0)
for chId, nickname := range nm.byChannel { for chId, nickname := range nm.byChannel {
list = append(list, channelIDToNickname{ list = append(list, channelIDToNickname{
channelId: chId, ChannelId: chId,
nickname: nickname, Nickname: nickname,
}) })
} }
...@@ -120,7 +120,7 @@ func (nm *nicknameManager) load() error { ...@@ -120,7 +120,7 @@ func (nm *nicknameManager) load() error {
for i := range list { for i := range list {
current := list[i] current := list[i]
nm.byChannel[current.channelId] = current.nickname nm.byChannel[current.ChannelId] = current.Nickname
} }
return nil return nil
......
...@@ -29,7 +29,37 @@ func TestNicknameManager_SetGetNickname(t *testing.T) { ...@@ -29,7 +29,37 @@ func TestNicknameManager_SetGetNickname(t *testing.T) {
"\nReceived: %s", nickname, received) "\nReceived: %s", nickname, received)
} }
} }
}
// Unit test. Tests that once you set a nickname with SetNickname, you can
// retrieve the nickname using GetNickname after a reload.
func TestNicknameManager_SetGetNickname_Reload(t *testing.T) {
kv := versioned.NewKV(ekv.MakeMemstore())
nm := loadOrNewNicknameManager(kv)
for i := 0; i < numTests; i++ {
chId := id.NewIdFromUInt(uint64(i), id.User, t)
nickname := "nickname#" + strconv.Itoa(i)
err := nm.SetNickname(nickname, chId)
if err != nil {
t.Fatalf("SetNickname error when setting %s: %+v", nickname, err)
}
}
nm2 := loadOrNewNicknameManager(kv)
for i := 0; i < numTests; i++ {
chId := id.NewIdFromUInt(uint64(i), id.User, t)
// nickname := "nickname#" + strconv.Itoa(i)
nick, exists := nm2.GetNickname(chId)
if !exists {
t.Fatalf("Nickname %d not found ", i)
}
expected := "nickname#" + strconv.Itoa(i)
if nick != expected {
t.Fatalf("Nickname %d not found, expected: %s, received: %s ", i, expected, nick)
}
}
} }
// Error case: Tests that nicknameManager.GetNickname returns a false boolean // Error case: Tests that nicknameManager.GetNickname returns a false boolean
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment