Просмотр исходного кода

WIP: delete dependent permissions on user group delete

Daniel Lee 8 лет назад
Родитель
Сommit
222a938cdf
2 измененных файлов с 9 добавлено и 1 удалено
  1. 1 0
      pkg/services/sqlstore/user_group.go
  2. 8 1
      pkg/services/sqlstore/user_group_test.go

+ 1 - 0
pkg/services/sqlstore/user_group.go

@@ -84,6 +84,7 @@ func DeleteUserGroup(cmd *m.DeleteUserGroupCommand) error {
 		deletes := []string{
 			"DELETE FROM user_group_member WHERE user_group_id = ?",
 			"DELETE FROM user_group WHERE id = ?",
+			"DELETE FROM dashboard_acl WHERE user_group_id = ?",
 		}
 
 		for _, sql := range deletes {

+ 8 - 1
pkg/services/sqlstore/user_group_test.go

@@ -88,12 +88,13 @@ func TestUserGroupCommandsAndQueries(t *testing.T) {
 				So(len(q1.Result), ShouldEqual, 0)
 			})
 
-			Convey("Should be able to remove a group with users", func() {
+			Convey("Should be able to remove a group with users and permissions", func() {
 				groupId := group2.Result.Id
 				err := AddUserGroupMember(&m.AddUserGroupMemberCommand{OrgId: 1, UserGroupId: groupId, UserId: userIds[1]})
 				So(err, ShouldBeNil)
 				err = AddUserGroupMember(&m.AddUserGroupMemberCommand{OrgId: 1, UserGroupId: groupId, UserId: userIds[2]})
 				So(err, ShouldBeNil)
+				err = AddOrUpdateDashboardPermission(&m.AddOrUpdateDashboardPermissionCommand{DashboardId: 1, OrgId: 1, PermissionType: m.PERMISSION_EDIT, UserGroupId: groupId})
 
 				err = DeleteUserGroup(&m.DeleteUserGroupCommand{Id: groupId})
 				So(err, ShouldBeNil)
@@ -101,6 +102,12 @@ func TestUserGroupCommandsAndQueries(t *testing.T) {
 				query := &m.GetUserGroupByIdQuery{Id: groupId}
 				err = GetUserGroupById(query)
 				So(err, ShouldEqual, m.ErrUserGroupNotFound)
+
+				permQuery := &m.GetDashboardPermissionsQuery{DashboardId: 1}
+				err = GetDashboardPermissions(permQuery)
+				So(err, ShouldBeNil)
+
+				So(len(permQuery.Result), ShouldEqual, 0)
 			})
 		})
 	})