NestedFolders: Add folder service registry with dashboard service implementation (#65033)

* Delete folders, dashboards with registry service
Co-authored-by: Serge Zaitsev <hello@zserge.com>
* Update signature of ProvideDashboardServiceImpl
* Regenerate mockery file
* Add test for DeleteInFolder
* Add test for DeleteDashboardsInFolder
* Delete child dashboard associations via registry
* Add validation of folder uid and org id

---------

Co-authored-by: Serge Zaitsev <hello@zserge.com>
This commit is contained in:
Arati R
2023-04-14 11:17:23 +02:00
committed by GitHub
co-authored by Serge Zaitsev
parent 4abe0249ba
commit cab3ba519a
19 changed files with 1039 additions and 116 deletions
@@ -491,6 +491,25 @@ func TestIntegrationDashboardDataAccess(t *testing.T) {
require.NoError(t, err)
require.Equal(t, int64(2), count)
})
t.Run("Can delete dashboards in folder", func(t *testing.T) {
setup()
folder := insertTestDashboard(t, dashboardStore, "dash folder", 1, 0, true, "prod", "webapp")
_ = insertTestDashboard(t, dashboardStore, "delete me 1", 1, folder.ID, false, "delete this 1")
_ = insertTestDashboard(t, dashboardStore, "delete me 2", 1, folder.ID, false, "delete this 2")
err := dashboardStore.DeleteDashboardsInFolder(
context.Background(),
&dashboards.DeleteDashboardsInFolderRequest{
FolderUID: folder.UID,
OrgID: 1,
})
require.NoError(t, err)
count, err := dashboardStore.CountDashboardsInFolder(context.Background(), &dashboards.CountDashboardsInFolderRequest{FolderID: 2, OrgID: 1})
require.NoError(t, err)
require.Equal(t, count, int64(0))
})
}
func TestIntegrationDashboardDataAccessGivenPluginWithImportedDashboards(t *testing.T) {