[release-12.0.2] Org: Fix org deletion (#106461)

Org: Fix org deletion (#106193)

(cherry picked from commit 5303a1cc7e)

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
This commit is contained in:
grafana-delivery-bot[bot]
2025-06-10 03:53:34 +02:00
committed by GitHub
parent b2712d5086
commit c3ffd59702
3 changed files with 108 additions and 4 deletions
@@ -14,8 +14,10 @@ import (
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/apimachinery/identity"
"github.com/grafana/grafana/pkg/infra/db"
"github.com/grafana/grafana/pkg/services/accesscontrol"
"github.com/grafana/grafana/pkg/services/accesscontrol/acimpl"
"github.com/grafana/grafana/pkg/services/dashboards"
"github.com/grafana/grafana/pkg/services/folder"
"github.com/grafana/grafana/pkg/services/org"
@@ -997,16 +999,28 @@ func TestIntegrationGetFolders(t *testing.T) {
func CreateOrg(t *testing.T, db db.DB, cfg *setting.Cfg) int64 {
t.Helper()
requester := &identity.StaticRequester{
OrgID: 1,
Permissions: map[int64]map[string][]string{
1: map[string][]string{
accesscontrol.ActionOrgsDelete: {"*"},
},
2: map[string][]string{
accesscontrol.ActionOrgsDelete: {"*"},
},
},
}
orgService, err := orgimpl.ProvideService(db, cfg, quotatest.New(false, nil))
require.NoError(t, err)
dashSvc := &dashboards.FakeDashboardService{}
dashSvc.On("DeleteAllDashboards", mock.Anything, mock.Anything).Return(nil)
deleteOrgService, err := orgimpl.ProvideDeletionService(db, cfg, dashSvc)
deleteOrgService, err := orgimpl.ProvideDeletionService(db, cfg, dashSvc, acimpl.ProvideAccessControlTest())
require.NoError(t, err)
orgID, err := orgService.GetOrCreate(context.Background(), "test-org")
require.NoError(t, err)
t.Cleanup(func() {
err = deleteOrgService.Delete(context.Background(), &org.DeleteOrgCommand{ID: orgID})
ctx := identity.WithRequester(context.Background(), requester)
err = deleteOrgService.Delete(ctx, &org.DeleteOrgCommand{ID: orgID})
require.NoError(t, err)
})