From 1b5320da6ffd559446f63fdb78183c7380bfa51c Mon Sep 17 00:00:00 2001 From: Radu Ioan Fericean Date: Mon, 13 Jul 2015 18:23:01 +0300 Subject: [PATCH] more tests for index handling --- engine/users.go | 1 - engine/users_test.go | 77 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/engine/users.go b/engine/users.go index 3312fcebf..95f7a2d9d 100644 --- a/engine/users.go +++ b/engine/users.go @@ -256,7 +256,6 @@ func (um *UserMap) deleteIndex(up *UserProfile) { } continue } - for k, v := range up.Profile { if k == index && v != "" { indexKey := utils.ConcatenatedKey(k, v) diff --git a/engine/users_test.go b/engine/users_test.go index 6184b9597..ad1dfec9d 100644 --- a/engine/users_test.go +++ b/engine/users_test.go @@ -424,3 +424,80 @@ func TestUsersGetMissingIdTwoINdex(t *testing.T) { t.Error("error getting users: ", results) } } + +func TestUsersAddUpdateRemoveIndexes(t *testing.T) { + tm := newUserMap(ratingStorage) + var r string + tm.AddIndex([]string{"t"}, &r) + if len(tm.index) != 0 { + t.Error("error adding indexes: ", tm.index) + } + tm.SetUser(UserProfile{ + Tenant: "test", + UserName: "user", + Profile: map[string]string{ + "t": "v", + }, + }, &r) + if len(tm.index) != 1 || !tm.index["t:v"]["test:user"] { + t.Error("error adding indexes: ", tm.index) + } + tm.SetUser(UserProfile{ + Tenant: "test", + UserName: "best", + Profile: map[string]string{ + "t": "v", + }, + }, &r) + if len(tm.index) != 1 || + !tm.index["t:v"]["test:user"] || + !tm.index["t:v"]["test:best"] { + t.Error("error adding indexes: ", tm.index) + } + tm.UpdateUser(UserProfile{ + Tenant: "test", + UserName: "best", + Profile: map[string]string{ + "t": "v1", + }, + }, &r) + if len(tm.index) != 2 || + !tm.index["t:v"]["test:user"] || + !tm.index["t:v1"]["test:best"] { + t.Error("error adding indexes: ", tm.index) + } + tm.UpdateUser(UserProfile{ + Tenant: "test", + UserName: "best", + Profile: map[string]string{ + "t": "v", + }, + }, &r) + if len(tm.index) != 1 || + !tm.index["t:v"]["test:user"] || + !tm.index["t:v"]["test:best"] { + t.Error("error adding indexes: ", tm.index) + } + tm.RemoveUser(UserProfile{ + Tenant: "test", + UserName: "best", + Profile: map[string]string{ + "t": "v", + }, + }, &r) + if len(tm.index) != 1 || + !tm.index["t:v"]["test:user"] || + tm.index["t:v"]["test:best"] { + t.Error("error adding indexes: ", tm.index) + } + tm.RemoveUser(UserProfile{ + Tenant: "test", + UserName: "user", + Profile: map[string]string{ + "t": "v", + }, + }, &r) + if len(tm.index) != 0 { + t.Error("error adding indexes: ", tm.index) + } +}