Revert "Revert "RBAC: remove dashboard ACL logic from dash store, service #78130" (#78203)

Revert "Revert "RBAC: remove dashboard ACL logic from dash store, service #78130 (#78198)"

This reverts commit 8057b9298d.
This commit is contained in:
Ieva
2023-11-15 16:45:49 +00:00
committed by GitHub
parent 210ec8247b
commit 2c73f15839
14 changed files with 27 additions and 926 deletions

View File

@@ -220,14 +220,6 @@ func TestDashboardService(t *testing.T) {
err := service.DeleteDashboard(context.Background(), 1, 1)
require.NoError(t, err)
})
// t.Run("Delete ACL by user", func(t *testing.T) {
// fakeStore := dashboards.FakeDashboardStore{}
// args := 1
// fakeStore.On("DeleteACLByUser", mock.Anything, args).Return(nil).Once()
// err := service.DeleteACLByUser(context.Background(), 1)
// require.NoError(t, err)
// })
})
t.Run("Count dashboards in folder", func(t *testing.T) {
@@ -249,41 +241,4 @@ func TestDashboardService(t *testing.T) {
require.NoError(t, err)
})
})
t.Run("Delete user by acl", func(t *testing.T) {
fakeStore := dashboards.FakeDashboardStore{}
fakeStore.On("DeleteACLByUser", mock.Anything, mock.AnythingOfType("int64")).Return(nil)
defer fakeStore.AssertExpectations(t)
service := &DashboardServiceImpl{
cfg: setting.NewCfg(),
log: log.New("test.logger"),
dashboardStore: &fakeStore,
dashAlertExtractor: &dummyDashAlertExtractor{},
}
err := service.DeleteACLByUser(context.Background(), 1)
require.NoError(t, err)
})
t.Run("When org user is deleted", func(t *testing.T) {
fakeStore := dashboards.FakeDashboardStore{}
fakeStore.On("GetDashboardACLInfoList", mock.Anything, mock.AnythingOfType("*dashboards.GetDashboardACLInfoListQuery")).Return(nil, nil)
t.Run("Should remove dependent permissions for deleted org user", func(t *testing.T) {
permQuery := &dashboards.GetDashboardACLInfoListQuery{DashboardID: 1, OrgID: 1}
permQueryResult, err := fakeStore.GetDashboardACLInfoList(context.Background(), permQuery)
require.NoError(t, err)
require.Equal(t, len(permQueryResult), 0)
})
t.Run("Should not remove dashboard permissions for same user in another org", func(t *testing.T) {
fakeStore := dashboards.FakeDashboardStore{}
fakeStore.On("GetDashboardACLInfoList", mock.Anything, mock.AnythingOfType("*dashboards.GetDashboardACLInfoListQuery")).Return(nil, nil)
permQuery := &dashboards.GetDashboardACLInfoListQuery{DashboardID: 2, OrgID: 3}
_, err := fakeStore.GetDashboardACLInfoList(context.Background(), permQuery)
require.NoError(t, err)
})
})
}