|
@@ -482,6 +482,24 @@ func TestDashboardDataAccess(t *testing.T) {
|
|
|
So(query.Result[0].Id, ShouldEqual, folder1.Id)
|
|
So(query.Result[0].Id, ShouldEqual, folder1.Id)
|
|
|
So(query.Result[1].Id, ShouldEqual, folder2.Id)
|
|
So(query.Result[1].Id, ShouldEqual, folder2.Id)
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
|
|
+ Convey("should have write access to all folders and dashboards", func() {
|
|
|
|
|
+ query := m.GetDashboardPermissionsForUserQuery{
|
|
|
|
|
+ DashboardIds: []int64{folder1.Id, folder2.Id},
|
|
|
|
|
+ OrgId: 1,
|
|
|
|
|
+ UserId: adminUser.Id,
|
|
|
|
|
+ OrgRole: m.ROLE_ADMIN,
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ err := GetDashboardPermissionsForUser(&query)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ So(len(query.Result), ShouldEqual, 2)
|
|
|
|
|
+ So(query.Result[0].DashboardId, ShouldEqual, folder1.Id)
|
|
|
|
|
+ So(query.Result[0].Permission, ShouldEqual, m.PERMISSION_ADMIN)
|
|
|
|
|
+ So(query.Result[1].DashboardId, ShouldEqual, folder2.Id)
|
|
|
|
|
+ So(query.Result[1].Permission, ShouldEqual, m.PERMISSION_ADMIN)
|
|
|
|
|
+ })
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
Convey("Editor users", func() {
|
|
Convey("Editor users", func() {
|
|
@@ -499,6 +517,24 @@ func TestDashboardDataAccess(t *testing.T) {
|
|
|
So(query.Result[1].Id, ShouldEqual, folder2.Id)
|
|
So(query.Result[1].Id, ShouldEqual, folder2.Id)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ Convey("should have edit access to folders with default ACL", func() {
|
|
|
|
|
+ query := m.GetDashboardPermissionsForUserQuery{
|
|
|
|
|
+ DashboardIds: []int64{folder1.Id, folder2.Id},
|
|
|
|
|
+ OrgId: 1,
|
|
|
|
|
+ UserId: editorUser.Id,
|
|
|
|
|
+ OrgRole: m.ROLE_EDITOR,
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ err := GetDashboardPermissionsForUser(&query)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ So(len(query.Result), ShouldEqual, 2)
|
|
|
|
|
+ So(query.Result[0].DashboardId, ShouldEqual, folder1.Id)
|
|
|
|
|
+ So(query.Result[0].Permission, ShouldEqual, m.PERMISSION_EDIT)
|
|
|
|
|
+ So(query.Result[1].DashboardId, ShouldEqual, folder2.Id)
|
|
|
|
|
+ So(query.Result[1].Permission, ShouldEqual, m.PERMISSION_EDIT)
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
Convey("Should have write access to one dashboard folder if default role changed to view for one folder", func() {
|
|
Convey("Should have write access to one dashboard folder if default role changed to view for one folder", func() {
|
|
|
updateTestDashboardWithAcl(folder1.Id, editorUser.Id, m.PERMISSION_VIEW)
|
|
updateTestDashboardWithAcl(folder1.Id, editorUser.Id, m.PERMISSION_VIEW)
|
|
|
|
|
|
|
@@ -508,6 +544,7 @@ func TestDashboardDataAccess(t *testing.T) {
|
|
|
So(len(query.Result), ShouldEqual, 1)
|
|
So(len(query.Result), ShouldEqual, 1)
|
|
|
So(query.Result[0].Id, ShouldEqual, folder2.Id)
|
|
So(query.Result[0].Id, ShouldEqual, folder2.Id)
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
Convey("Viewer users", func() {
|
|
Convey("Viewer users", func() {
|
|
@@ -523,6 +560,24 @@ func TestDashboardDataAccess(t *testing.T) {
|
|
|
So(len(query.Result), ShouldEqual, 0)
|
|
So(len(query.Result), ShouldEqual, 0)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ Convey("should have view access to folders with default ACL", func() {
|
|
|
|
|
+ query := m.GetDashboardPermissionsForUserQuery{
|
|
|
|
|
+ DashboardIds: []int64{folder1.Id, folder2.Id},
|
|
|
|
|
+ OrgId: 1,
|
|
|
|
|
+ UserId: viewerUser.Id,
|
|
|
|
|
+ OrgRole: m.ROLE_VIEWER,
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ err := GetDashboardPermissionsForUser(&query)
|
|
|
|
|
+ So(err, ShouldBeNil)
|
|
|
|
|
+
|
|
|
|
|
+ So(len(query.Result), ShouldEqual, 2)
|
|
|
|
|
+ So(query.Result[0].DashboardId, ShouldEqual, folder1.Id)
|
|
|
|
|
+ So(query.Result[0].Permission, ShouldEqual, m.PERMISSION_VIEW)
|
|
|
|
|
+ So(query.Result[1].DashboardId, ShouldEqual, folder2.Id)
|
|
|
|
|
+ So(query.Result[1].Permission, ShouldEqual, m.PERMISSION_VIEW)
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
Convey("Should be able to get one dashboard folder if default role changed to edit for one folder", func() {
|
|
Convey("Should be able to get one dashboard folder if default role changed to edit for one folder", func() {
|
|
|
updateTestDashboardWithAcl(folder1.Id, viewerUser.Id, m.PERMISSION_EDIT)
|
|
updateTestDashboardWithAcl(folder1.Id, viewerUser.Id, m.PERMISSION_EDIT)
|
|
|
|
|
|