diff options
author | George Goldberg <george@gberg.me> | 2018-06-25 14:34:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-25 14:34:59 +0100 |
commit | fc158fce907b602bbde3babfadfd1a04d1dde31e (patch) | |
tree | f7d95ec4c5fad9aee6cf5db10044e83d500bb166 /store/storetest/user_store.go | |
parent | 1c194e5fbdd30ed4387a07cc8a62037f2a18abdd (diff) | |
download | chat-fc158fce907b602bbde3babfadfd1a04d1dde31e.tar.gz chat-fc158fce907b602bbde3babfadfd1a04d1dde31e.tar.bz2 chat-fc158fce907b602bbde3babfadfd1a04d1dde31e.zip |
MM-10570: Make permissions reset command clear custom role assignments. (#8976)
Diffstat (limited to 'store/storetest/user_store.go')
-rw-r--r-- | store/storetest/user_store.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/store/storetest/user_store.go b/store/storetest/user_store.go index 66f54df39..2c5e3b0bf 100644 --- a/store/storetest/user_store.go +++ b/store/storetest/user_store.go @@ -9,6 +9,7 @@ import ( "time" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "github.com/mattermost/mattermost-server/model" "github.com/mattermost/mattermost-server/store" @@ -49,6 +50,7 @@ func TestUserStore(t *testing.T, ss store.Store) { t.Run("AnalyticsGetInactiveUsersCount", func(t *testing.T) { testUserStoreAnalyticsGetInactiveUsersCount(t, ss) }) t.Run("AnalyticsGetSystemAdminCount", func(t *testing.T) { testUserStoreAnalyticsGetSystemAdminCount(t, ss) }) t.Run("GetProfilesNotInTeam", func(t *testing.T) { testUserStoreGetProfilesNotInTeam(t, ss) }) + t.Run("ClearAllCustomRoleAssignments", func(t *testing.T) { testUserStoreClearAllCustomRoleAssignments(t, ss) }) } func testUserStoreSave(t *testing.T, ss store.Store) { @@ -2118,3 +2120,49 @@ func testUserStoreGetProfilesNotInTeam(t *testing.T, ss store.Store) { } } } + +func testUserStoreClearAllCustomRoleAssignments(t *testing.T, ss store.Store) { + u1 := model.User{ + Email: model.NewId(), + Username: model.NewId(), + Roles: "system_user system_admin system_post_all", + } + u2 := model.User{ + Email: model.NewId(), + Username: model.NewId(), + Roles: "system_user custom_role system_admin another_custom_role", + } + u3 := model.User{ + Email: model.NewId(), + Username: model.NewId(), + Roles: "system_user", + } + u4 := model.User{ + Email: model.NewId(), + Username: model.NewId(), + Roles: "custom_only", + } + + store.Must(ss.User().Save(&u1)) + store.Must(ss.User().Save(&u2)) + store.Must(ss.User().Save(&u3)) + store.Must(ss.User().Save(&u4)) + + require.Nil(t, (<-ss.User().ClearAllCustomRoleAssignments()).Err) + + r1 := <-ss.User().GetByUsername(u1.Username) + require.Nil(t, r1.Err) + assert.Equal(t, u1.Roles, r1.Data.(*model.User).Roles) + + r2 := <-ss.User().GetByUsername(u2.Username) + require.Nil(t, r2.Err) + assert.Equal(t, "system_user system_admin", r2.Data.(*model.User).Roles) + + r3 := <-ss.User().GetByUsername(u3.Username) + require.Nil(t, r3.Err) + assert.Equal(t, u3.Roles, r3.Data.(*model.User).Roles) + + r4 := <-ss.User().GetByUsername(u4.Username) + require.Nil(t, r4.Err) + assert.Equal(t, "", r4.Data.(*model.User).Roles) +} |