|
@@ -154,6 +154,56 @@ func TestAccountDataAccess(t *testing.T) {
|
|
|
So(err, ShouldEqual, m.ErrLastOrgAdmin)
|
|
So(err, ShouldEqual, m.ErrLastOrgAdmin)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ Convey("Given an org user with dashboard permissions", func() {
|
|
|
|
|
+ ac3cmd := m.CreateUserCommand{Login: "ac3", Email: "ac3@test.com", Name: "ac3 name", IsAdmin: false}
|
|
|
|
|
+ err := CreateUser(&ac3cmd)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+ ac3 := ac3cmd.Result
|
|
|
|
|
+
|
|
|
|
|
+ orgUserCmd := m.AddOrgUserCommand{
|
|
|
|
|
+ OrgId: ac1.OrgId,
|
|
|
|
|
+ UserId: ac3.Id,
|
|
|
|
|
+ Role: m.ROLE_VIEWER,
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ err = AddOrgUser(&orgUserCmd)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ query := m.GetOrgUsersQuery{OrgId: orgUserCmd.OrgId}
|
|
|
|
|
+ err = GetOrgUsers(&query)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+ So(len(query.Result), ShouldEqual, 3)
|
|
|
|
|
+
|
|
|
|
|
+ err = AddOrUpdateDashboardPermission(&m.AddOrUpdateDashboardPermissionCommand{DashboardId: 1, OrgId: ac1.OrgId, UserId: ac3.Id, PermissionType: m.PERMISSION_EDIT})
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ err = AddOrUpdateDashboardPermission(&m.AddOrUpdateDashboardPermissionCommand{DashboardId: 2, OrgId: ac3.OrgId, UserId: ac3.Id, PermissionType: m.PERMISSION_EDIT})
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ Convey("When org user is deleted", func() {
|
|
|
|
|
+ cmdRemove := m.RemoveOrgUserCommand{OrgId: orgUserCmd.OrgId, UserId: ac3.Id}
|
|
|
|
|
+ err := RemoveOrgUser(&cmdRemove)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ Convey("Should remove dependent permissions for deleted org user", func() {
|
|
|
|
|
+ permQuery := &m.GetDashboardPermissionsQuery{DashboardId: 1}
|
|
|
|
|
+ err = GetDashboardPermissions(permQuery)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ So(len(permQuery.Result), ShouldEqual, 0)
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ Convey("Should not remove dashboard permissions for same user in another org", func() {
|
|
|
|
|
+ permQuery := &m.GetDashboardPermissionsQuery{DashboardId: 2}
|
|
|
|
|
+ err = GetDashboardPermissions(permQuery)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ So(permQuery.Result[0].OrgId, ShouldEqual, ac3.OrgId)
|
|
|
|
|
+ So(permQuery.Result[0].UserId, ShouldEqual, ac3.Id)
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|