Folders: Add user service to folder service implementation (#99518)

Add user service to folder service implementation
This commit is contained in:
Arati R. 2025-01-27 14:29:47 +01:00 committed by GitHub
parent de1df2f4e9
commit a2097fbc2f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
20 changed files with 142 additions and 57 deletions

View File

@ -829,9 +829,9 @@ func getDashboardShouldReturn200WithConfig(t *testing.T, sc *scenarioContext, pr
db := db.InitTestDB(t) db := db.InitTestDB(t)
fStore := folderimpl.ProvideStore(db) fStore := folderimpl.ProvideStore(db)
quotaService := quotatest.New(false, nil) quotaService := quotatest.New(false, nil)
folderSvc := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), folderSvc := folderimpl.ProvideService(
dashboardStore, folderStore, db, features, fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) nil, db, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
if dashboardService == nil { if dashboardService == nil {
dashboardService, err = service.ProvideDashboardServiceImpl( dashboardService, err = service.ProvideDashboardServiceImpl(
cfg, dashboardStore, folderStore, features, folderPermissions, cfg, dashboardStore, folderStore, features, folderPermissions,

View File

@ -460,8 +460,9 @@ func setupServer(b testing.TB, sc benchScenario, features featuremgmt.FeatureTog
cfg := setting.NewCfg() cfg := setting.NewCfg()
actionSets := resourcepermissions.NewActionSetService(features) actionSets := resourcepermissions.NewActionSetService(features)
fStore := folderimpl.ProvideStore(sc.db) fStore := folderimpl.ProvideStore(sc.db)
folderServiceWithFlagOn := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderServiceWithFlagOn := folderimpl.ProvideService(
folderStore, sc.db, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderStore,
nil, sc.db, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
acSvc := acimpl.ProvideOSSService( acSvc := acimpl.ProvideOSSService(
sc.cfg, acdb.ProvideService(sc.db), actionSets, localcache.ProvideService(), sc.cfg, acdb.ProvideService(sc.db), actionSets, localcache.ProvideService(),
features, tracing.InitializeTracerForTest(), zanzana.NewNoopClient(), sc.db, permreg.ProvidePermissionRegistry(), nil, folderServiceWithFlagOn, features, tracing.InitializeTracerForTest(), zanzana.NewNoopClient(), sc.db, permreg.ProvidePermissionRegistry(), nil, folderServiceWithFlagOn,

View File

@ -47,9 +47,9 @@ func ProvideFolderPermissions(
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore)
fService := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), fService := folderimpl.ProvideService(
dashboardStore, folderStore, sqlStore, features, fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
acSvc := acimpl.ProvideOSSService( acSvc := acimpl.ProvideOSSService(
cfg, acdb.ProvideService(sqlStore), actionSets, localcache.ProvideService(), cfg, acdb.ProvideService(sqlStore), actionSets, localcache.ProvideService(),

View File

@ -47,9 +47,9 @@ func TestIntegrationAuthorize(t *testing.T) {
dashStore, err := database.ProvideDashboardStore(sql, cfg, featuremgmt.WithFeatures(), tagimpl.ProvideService(sql)) dashStore, err := database.ProvideDashboardStore(sql, cfg, featuremgmt.WithFeatures(), tagimpl.ProvideService(sql))
require.NoError(t, err) require.NoError(t, err)
ac := acimpl.ProvideAccessControl(featuremgmt.WithFeatures()) ac := acimpl.ProvideAccessControl(featuremgmt.WithFeatures())
folderSvc := folderimpl.ProvideService(fStore, accesscontrolmock.New(), bus.ProvideBus(tracing.InitializeTracerForTest()), folderSvc := folderimpl.ProvideService(
dashStore, folderStore, sql, featuremgmt.WithFeatures(), fStore, accesscontrolmock.New(), bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderStore,
supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) nil, sql, featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
dashSvc, err := dashboardsservice.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, featuremgmt.WithFeatures(), accesscontrolmock.NewMockedPermissionsService(), dashSvc, err := dashboardsservice.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, featuremgmt.WithFeatures(), accesscontrolmock.NewMockedPermissionsService(),
ac, folderSvc, fStore, nil, nil, nil, nil, quotatest.New(false, nil), nil, nil) ac, folderSvc, fStore, nil, nil, nil, nil, quotatest.New(false, nil), nil, nil)
require.NoError(t, err) require.NoError(t, err)

View File

@ -59,9 +59,9 @@ func TestIntegrationAnnotationListingWithRBAC(t *testing.T) {
dashStore, err := database.ProvideDashboardStore(sql, cfg, featuremgmt.WithFeatures(), tagimpl.ProvideService(sql)) dashStore, err := database.ProvideDashboardStore(sql, cfg, featuremgmt.WithFeatures(), tagimpl.ProvideService(sql))
require.NoError(t, err) require.NoError(t, err)
ac := acimpl.ProvideAccessControl(featuremgmt.WithFeatures()) ac := acimpl.ProvideAccessControl(featuremgmt.WithFeatures())
folderSvc := folderimpl.ProvideService(fStore, accesscontrolmock.New(), bus.ProvideBus(tracing.InitializeTracerForTest()), folderSvc := folderimpl.ProvideService(
dashStore, folderStore, sql, featuremgmt.WithFeatures(), fStore, accesscontrolmock.New(), bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderStore,
supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) nil, sql, featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
dashSvc, err := dashboardsservice.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, featuremgmt.WithFeatures(), accesscontrolmock.NewMockedPermissionsService(), dashSvc, err := dashboardsservice.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, featuremgmt.WithFeatures(), accesscontrolmock.NewMockedPermissionsService(),
ac, folderSvc, fStore, nil, nil, nil, nil, quotatest.New(false, nil), nil, nil) ac, folderSvc, fStore, nil, nil, nil, nil, quotatest.New(false, nil), nil, nil)
require.NoError(t, err) require.NoError(t, err)
@ -242,8 +242,9 @@ func TestIntegrationAnnotationListingWithInheritedRBAC(t *testing.T) {
ac := acimpl.ProvideAccessControl(features) ac := acimpl.ProvideAccessControl(features)
fStore := folderimpl.ProvideStore(sql) fStore := folderimpl.ProvideStore(sql)
folderStore := folderimpl.ProvideDashboardFolderStore(sql) folderStore := folderimpl.ProvideDashboardFolderStore(sql)
folderSvc := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderSvc := folderimpl.ProvideService(
folderStore, sql, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderStore,
nil, sql, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
dashSvc, err := dashboardsservice.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, features, accesscontrolmock.NewMockedPermissionsService(), dashSvc, err := dashboardsservice.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, features, accesscontrolmock.NewMockedPermissionsService(),
ac, folderSvc, fStore, nil, nil, nil, nil, quotatest.New(false, nil), nil, nil) ac, folderSvc, fStore, nil, nil, nil, nil, quotatest.New(false, nil), nil, nil)
require.NoError(t, err) require.NoError(t, err)

View File

@ -300,7 +300,9 @@ func TestIntegrationDashboardInheritedFolderRBAC(t *testing.T) {
}) })
folderStore := folderimpl.ProvideStore(sqlStore) folderStore := folderimpl.ProvideStore(sqlStore)
folderSvc := folderimpl.ProvideService(folderStore, mock.New(), bus.ProvideBus(tracer), dashboardWriteStore, folderimpl.ProvideDashboardFolderStore(sqlStore), sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) folderSvc := folderimpl.ProvideService(
folderStore, mock.New(), bus.ProvideBus(tracer), dashboardWriteStore, folderimpl.ProvideDashboardFolderStore(sqlStore),
nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
parentUID := "" parentUID := ""
for i := 0; ; i++ { for i := 0; ; i++ {

View File

@ -901,8 +901,9 @@ func TestIntegrationFindDashboardsByTitle(t *testing.T) {
ac := acimpl.ProvideAccessControl(features) ac := acimpl.ProvideAccessControl(features)
folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore)
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderServiceWithFlagOn := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderServiceWithFlagOn := folderimpl.ProvideService(
folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
user := &user.SignedInUser{ user := &user.SignedInUser{
OrgID: 1, OrgID: 1,
@ -1020,8 +1021,9 @@ func TestIntegrationFindDashboardsByFolder(t *testing.T) {
folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore)
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderServiceWithFlagOn := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderServiceWithFlagOn := folderimpl.ProvideService(
folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
user := &user.SignedInUser{ user := &user.SignedInUser{
OrgID: 1, OrgID: 1,

View File

@ -881,7 +881,20 @@ func permissionScenario(t *testing.T, desc string, canSave bool, fn permissionSc
tracer := tracing.InitializeTracerForTest() tracer := tracing.InitializeTracerForTest()
publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t) publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t)
folderStore2 := folderimpl.ProvideStore(sqlStore) folderStore2 := folderimpl.ProvideStore(sqlStore)
folderService := folderimpl.ProvideService(folderStore2, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracer), dashboardStore, folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), publicDashboardFakeService, cfg, nil, tracer) folderService := folderimpl.ProvideService(
folderStore2,
actest.FakeAccessControl{ExpectedEvaluate: true},
bus.ProvideBus(tracer),
dashboardStore,
folderStore,
nil,
sqlStore,
features,
supportbundlestest.NewFakeBundleService(),
publicDashboardFakeService,
cfg,
nil,
tracer)
dashboardPermissions := accesscontrolmock.NewMockedPermissionsService() dashboardPermissions := accesscontrolmock.NewMockedPermissionsService()
dashboardService, err := ProvideDashboardServiceImpl( dashboardService, err := ProvideDashboardServiceImpl(
cfg, dashboardStore, folderStore, cfg, dashboardStore, folderStore,
@ -955,9 +968,23 @@ func callSaveWithResult(t *testing.T, cmd dashboards.SaveDashboardCommand, sqlSt
tracer := tracing.InitializeTracerForTest() tracer := tracing.InitializeTracerForTest()
publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t) publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t)
folderStore2 := folderimpl.ProvideStore(sqlStore) folderStore2 := folderimpl.ProvideStore(sqlStore)
folderService := folderimpl.ProvideService(folderStore2, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracer), dashboardStore, folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), publicDashboardFakeService, cfg, nil, tracer) folderService := folderimpl.ProvideService(
folderStore2,
actest.FakeAccessControl{ExpectedEvaluate: true},
bus.ProvideBus(tracer),
dashboardStore,
folderStore,
nil,
sqlStore,
features,
supportbundlestest.NewFakeBundleService(),
publicDashboardFakeService,
cfg,
nil,
tracer)
dashboardPermissions := accesscontrolmock.NewMockedPermissionsService() dashboardPermissions := accesscontrolmock.NewMockedPermissionsService()
dashboardPermissions.On("SetPermissions", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]accesscontrol.ResourcePermission{}, nil) dashboardPermissions.On("SetPermissions",
mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]accesscontrol.ResourcePermission{}, nil)
service, err := ProvideDashboardServiceImpl( service, err := ProvideDashboardServiceImpl(
cfg, dashboardStore, folderStore, cfg, dashboardStore, folderStore,
featuremgmt.WithFeatures(), featuremgmt.WithFeatures(),
@ -992,7 +1019,19 @@ func callSaveWithError(t *testing.T, cmd dashboards.SaveDashboardCommand, sqlSto
tracer := tracing.InitializeTracerForTest() tracer := tracing.InitializeTracerForTest()
publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t) publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t)
folderStore2 := folderimpl.ProvideStore(sqlStore) folderStore2 := folderimpl.ProvideStore(sqlStore)
folderService := folderimpl.ProvideService(folderStore2, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracer), dashboardStore, folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), publicDashboardFakeService, cfg, nil, tracer) folderService := folderimpl.ProvideService(folderStore2,
actest.FakeAccessControl{ExpectedEvaluate: true},
bus.ProvideBus(tracer),
dashboardStore,
folderStore,
nil,
sqlStore,
features,
supportbundlestest.NewFakeBundleService(),
publicDashboardFakeService,
cfg,
nil,
tracer)
service, err := ProvideDashboardServiceImpl( service, err := ProvideDashboardServiceImpl(
cfg, dashboardStore, folderStore, cfg, dashboardStore, folderStore,
featuremgmt.WithFeatures(), featuremgmt.WithFeatures(),
@ -1046,7 +1085,19 @@ func saveTestDashboard(t *testing.T, title string, orgID int64, folderUID string
tracer := tracing.InitializeTracerForTest() tracer := tracing.InitializeTracerForTest()
publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t) publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t)
folderStore2 := folderimpl.ProvideStore(sqlStore) folderStore2 := folderimpl.ProvideStore(sqlStore)
folderService := folderimpl.ProvideService(folderStore2, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracer), dashboardStore, folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), publicDashboardFakeService, cfg, nil, tracer) folderService := folderimpl.ProvideService(folderStore2,
actest.FakeAccessControl{ExpectedEvaluate: true},
bus.ProvideBus(tracer),
dashboardStore,
folderStore,
nil,
sqlStore,
features,
supportbundlestest.NewFakeBundleService(),
publicDashboardFakeService,
cfg,
nil,
tracer)
service, err := ProvideDashboardServiceImpl( service, err := ProvideDashboardServiceImpl(
cfg, dashboardStore, folderStore, cfg, dashboardStore, folderStore,
features, features,
@ -1106,7 +1157,19 @@ func saveTestFolder(t *testing.T, title string, orgID int64, sqlStore db.DB) *da
tracer := tracing.InitializeTracerForTest() tracer := tracing.InitializeTracerForTest()
publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t) publicDashboardFakeService := publicdashboards.NewFakePublicDashboardServiceWrapper(t)
folderStore2 := folderimpl.ProvideStore(sqlStore) folderStore2 := folderimpl.ProvideStore(sqlStore)
folderService := folderimpl.ProvideService(folderStore2, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracer), dashboardStore, folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), publicDashboardFakeService, cfg, nil, tracer) folderService := folderimpl.ProvideService(folderStore2,
actest.FakeAccessControl{ExpectedEvaluate: true},
bus.ProvideBus(tracer),
dashboardStore,
folderStore,
nil,
sqlStore,
features,
supportbundlestest.NewFakeBundleService(),
publicDashboardFakeService,
cfg,
nil,
tracer)
folderPermissions.On("SetPermissions", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]accesscontrol.ResourcePermission{}, nil) folderPermissions.On("SetPermissions", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]accesscontrol.ResourcePermission{}, nil)
service, err := ProvideDashboardServiceImpl( service, err := ProvideDashboardServiceImpl(
cfg, dashboardStore, folderStore, cfg, dashboardStore, folderStore,

View File

@ -53,6 +53,7 @@ type Service struct {
log *slog.Logger log *slog.Logger
dashboardStore dashboards.Store dashboardStore dashboards.Store
dashboardFolderStore folder.FolderStore dashboardFolderStore folder.FolderStore
userService user.Service
features featuremgmt.FeatureToggles features featuremgmt.FeatureToggles
accessControl accesscontrol.AccessControl accessControl accesscontrol.AccessControl
k8sclient folderK8sHandler k8sclient folderK8sHandler
@ -73,6 +74,7 @@ func ProvideService(
bus bus.Bus, bus bus.Bus,
dashboardStore dashboards.Store, dashboardStore dashboards.Store,
folderStore folder.FolderStore, folderStore folder.FolderStore,
userService user.Service,
db db.DB, // DB for the (new) nested folder store db db.DB, // DB for the (new) nested folder store
features featuremgmt.FeatureToggles, features featuremgmt.FeatureToggles,
supportBundles supportbundles.Service, supportBundles supportbundles.Service,
@ -86,6 +88,7 @@ func ProvideService(
dashboardStore: dashboardStore, dashboardStore: dashboardStore,
dashboardFolderStore: folderStore, dashboardFolderStore: folderStore,
store: store, store: store,
userService: userService,
features: features, features: features,
accessControl: ac, accessControl: ac,
bus: bus, bus: bus,

View File

@ -64,8 +64,9 @@ func TestIntegrationProvideFolderService(t *testing.T) {
ac := acmock.New() ac := acmock.New()
db, cfg := db.InitTestDBWithCfg(t) db, cfg := db.InitTestDBWithCfg(t)
store := ProvideStore(db) store := ProvideStore(db)
ProvideService(store, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), nil, nil, db, ProvideService(
featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) store, ac, bus.ProvideBus(tracing.InitializeTracerForTest()),
nil, nil, nil, db, featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
require.Len(t, ac.Calls.RegisterAttributeScopeResolver, 2) require.Len(t, ac.Calls.RegisterAttributeScopeResolver, 2)
}) })

View File

@ -304,8 +304,9 @@ func createDashboard(t *testing.T, sqlStore db.DB, user user.SignedInUser, dash
dashboardPermissions.On("SetPermissions", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]accesscontrol.ResourcePermission{}, nil) dashboardPermissions.On("SetPermissions", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]accesscontrol.ResourcePermission{}, nil)
folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore)
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderSvc := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderSvc := folderimpl.ProvideService(
folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
_, err = folderSvc.Create(context.Background(), &folder.CreateFolderCommand{UID: folderUID, SignedInUser: &user, Title: folderUID + "-title"}) _, err = folderSvc.Create(context.Background(), &folder.CreateFolderCommand{UID: folderUID, SignedInUser: &user, Title: folderUID + "-title"})
require.NoError(t, err) require.NoError(t, err)
service, err := dashboardservice.ProvideDashboardServiceImpl( service, err := dashboardservice.ProvideDashboardServiceImpl(
@ -341,8 +342,9 @@ func createFolder(t *testing.T, sc scenarioContext, title string, folderSvc fold
folderStore := folderimpl.ProvideDashboardFolderStore(sc.sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sc.sqlStore)
store := folderimpl.ProvideStore(sc.sqlStore) store := folderimpl.ProvideStore(sc.sqlStore)
folderSvc = folderimpl.ProvideService(store, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore, sc.sqlStore, folderSvc = folderimpl.ProvideService(
features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) store, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sc.sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
t.Logf("Creating folder with title %q and UID uid_for_%s", title, title) t.Logf("Creating folder with title %q and UID uid_for_%s", title, title)
} }
ctx := identity.WithRequester(context.Background(), &sc.user) ctx := identity.WithRequester(context.Background(), &sc.user)
@ -404,8 +406,9 @@ func scenarioWithPanel(t *testing.T, desc string, fn func(t *testing.T, sc scena
dashboardPermissions := acmock.NewMockedPermissionsService() dashboardPermissions := acmock.NewMockedPermissionsService()
folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore)
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderSvc := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderSvc := folderimpl.ProvideService(
folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
dashboardService, svcErr := dashboardservice.ProvideDashboardServiceImpl( dashboardService, svcErr := dashboardservice.ProvideDashboardServiceImpl(
cfg, dashboardStore, folderStore, cfg, dashboardStore, folderStore,
features, folderPermissions, ac, features, folderPermissions, ac,
@ -470,8 +473,9 @@ func testScenario(t *testing.T, desc string, fn func(t *testing.T, sc scenarioCo
dashboardPermissions := acmock.NewMockedPermissionsService() dashboardPermissions := acmock.NewMockedPermissionsService()
folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore)
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderSvc := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderSvc := folderimpl.ProvideService(
folderStore, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
dashService, dashSvcErr := dashboardservice.ProvideDashboardServiceImpl( dashService, dashSvcErr := dashboardservice.ProvideDashboardServiceImpl(
cfg, dashboardStore, folderStore, cfg, dashboardStore, folderStore,
features, folderPermissions, ac, features, folderPermissions, ac,

View File

@ -755,8 +755,9 @@ func createFolder(t *testing.T, sc scenarioContext, title string) *folder.Folder
require.NoError(t, err) require.NoError(t, err)
folderStore := folderimpl.ProvideDashboardFolderStore(sc.sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sc.sqlStore)
fStore := folderimpl.ProvideStore(sc.sqlStore) fStore := folderimpl.ProvideStore(sc.sqlStore)
s := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore, sc.sqlStore, s := folderimpl.ProvideService(
features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sc.sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
t.Logf("Creating folder with title and UID %q", title) t.Logf("Creating folder with title and UID %q", title)
ctx := identity.WithRequester(context.Background(), sc.user) ctx := identity.WithRequester(context.Background(), sc.user)
@ -842,8 +843,9 @@ func testScenario(t *testing.T, desc string, fn func(t *testing.T, sc scenarioCo
require.NoError(t, err) require.NoError(t, err)
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderService := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore, sqlStore, folderService := folderimpl.ProvideService(
features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
elementService := libraryelements.ProvideService(cfg, sqlStore, routing.NewRouteRegister(), folderService, features, ac) elementService := libraryelements.ProvideService(cfg, sqlStore, routing.NewRouteRegister(), folderService, features, ac)
service := LibraryPanelService{ service := LibraryPanelService{

View File

@ -1919,8 +1919,9 @@ func createTestEnv(t *testing.T, testConfig string) testEnvironment {
folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore) folderStore := folderimpl.ProvideDashboardFolderStore(sqlStore)
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderService := folderimpl.ProvideService(fStore, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore, sqlStore, folderService := folderimpl.ProvideService(
featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardStore, folderStore,
nil, sqlStore, featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
store := store.DBstore{ store := store.DBstore{
Logger: log, Logger: log,
SQLStore: sqlStore, SQLStore: sqlStore,

View File

@ -1604,8 +1604,9 @@ func TestProvisiongWithFullpath(t *testing.T) {
ac := acmock.New() ac := acmock.New()
features := featuremgmt.WithFeatures(featuremgmt.FlagNestedFolders) features := featuremgmt.WithFeatures(featuremgmt.FlagNestedFolders)
fStore := folderimpl.ProvideStore(sqlStore) fStore := folderimpl.ProvideStore(sqlStore)
folderService := folderimpl.ProvideService(fStore, ac, inProcBus, dashboardStore, folderStore, sqlStore, folderService := folderimpl.ProvideService(
features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, ac, inProcBus, dashboardStore, folderStore,
nil, sqlStore, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
ruleService := createAlertRuleService(t, folderService) ruleService := createAlertRuleService(t, folderService)
var orgID int64 = 1 var orgID int64 = 1

View File

@ -28,7 +28,7 @@ import (
func SetupFolderService(tb testing.TB, cfg *setting.Cfg, db db.DB, dashboardStore dashboards.Store, folderStore *folderimpl.DashboardFolderStoreImpl, bus *bus.InProcBus, features featuremgmt.FeatureToggles, ac accesscontrol.AccessControl) folder.Service { func SetupFolderService(tb testing.TB, cfg *setting.Cfg, db db.DB, dashboardStore dashboards.Store, folderStore *folderimpl.DashboardFolderStoreImpl, bus *bus.InProcBus, features featuremgmt.FeatureToggles, ac accesscontrol.AccessControl) folder.Service {
tb.Helper() tb.Helper()
fStore := folderimpl.ProvideStore(db) fStore := folderimpl.ProvideStore(db)
return folderimpl.ProvideService(fStore, ac, bus, dashboardStore, folderStore, db, return folderimpl.ProvideService(fStore, ac, bus, dashboardStore, folderStore, nil, db,
features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
} }

View File

@ -1394,7 +1394,9 @@ func TestPublicDashboardServiceImpl_ListPublicDashboards(t *testing.T) {
fStore := folderimpl.ProvideStore(testDB) fStore := folderimpl.ProvideStore(testDB)
folderPermissions := acmock.NewMockedPermissionsService() folderPermissions := acmock.NewMockedPermissionsService()
folderStore := folderimpl.ProvideDashboardFolderStore(testDB) folderStore := folderimpl.ProvideDashboardFolderStore(testDB)
folderSvc := folderimpl.ProvideService(fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderStore, testDB, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) folderSvc := folderimpl.ProvideService(
fStore, ac, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderStore,
nil, testDB, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
dashboardService, err := dashsvc.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, featuremgmt.WithFeatures(), folderPermissions, ac, folderSvc, fStore, nil, nil, nil, nil, quotatest.New(false, nil), nil, nil) dashboardService, err := dashsvc.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, featuremgmt.WithFeatures(), folderPermissions, ac, folderSvc, fStore, nil, nil, nil, nil, quotatest.New(false, nil), nil, nil)
require.NoError(t, err) require.NoError(t, err)

View File

@ -491,9 +491,9 @@ func setupEnv(t *testing.T, sqlStore db.DB, cfg *setting.Cfg, b bus.Bus, quotaSe
dashStore, err := dashboardStore.ProvideDashboardStore(sqlStore, cfg, featuremgmt.WithFeatures(), tagimpl.ProvideService(sqlStore)) dashStore, err := dashboardStore.ProvideDashboardStore(sqlStore, cfg, featuremgmt.WithFeatures(), tagimpl.ProvideService(sqlStore))
require.NoError(t, err) require.NoError(t, err)
ac := acimpl.ProvideAccessControl(featuremgmt.WithFeatures()) ac := acimpl.ProvideAccessControl(featuremgmt.WithFeatures())
folderSvc := folderimpl.ProvideService(fStore, acmock.New(), bus.ProvideBus(tracing.InitializeTracerForTest()), folderSvc := folderimpl.ProvideService(
dashStore, folderStore, sqlStore, featuremgmt.WithFeatures(), fStore, acmock.New(), bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderStore,
supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) nil, sqlStore, featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
dashService, err := dashService.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, featuremgmt.WithFeatures(), acmock.NewMockedPermissionsService(), dashService, err := dashService.ProvideDashboardServiceImpl(cfg, dashStore, folderStore, featuremgmt.WithFeatures(), acmock.NewMockedPermissionsService(),
ac, folderSvc, fStore, nil, nil, nil, nil, quotaService, nil, nil) ac, folderSvc, fStore, nil, nil, nil, nil, quotaService, nil, nil)
require.NoError(t, err) require.NoError(t, err)

View File

@ -822,8 +822,9 @@ func setupNestedTest(t *testing.T, usr *user.SignedInUser, perms []accesscontrol
require.NoError(t, err) require.NoError(t, err)
fStore := folderimpl.ProvideStore(db) fStore := folderimpl.ProvideStore(db)
folderSvc := folderimpl.ProvideService(fStore, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderSvc := folderimpl.ProvideService(
folderimpl.ProvideDashboardFolderStore(db), db, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderimpl.ProvideDashboardFolderStore(db),
nil, db, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
// create parent folder // create parent folder
parent, err := folderSvc.Create(context.Background(), &folder.CreateFolderCommand{ parent, err := folderSvc.Create(context.Background(), &folder.CreateFolderCommand{

View File

@ -79,8 +79,9 @@ func setupBenchMark(b *testing.B, usr user.SignedInUser, features featuremgmt.Fe
require.NoError(b, err) require.NoError(b, err)
fStore := folderimpl.ProvideStore(store) fStore := folderimpl.ProvideStore(store)
folderSvc := folderimpl.ProvideService(fStore, mock.New(), bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardWriteStore, folderimpl.ProvideDashboardFolderStore(store), folderSvc := folderimpl.ProvideService(
store, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) fStore, mock.New(), bus.ProvideBus(tracing.InitializeTracerForTest()), dashboardWriteStore, folderimpl.ProvideDashboardFolderStore(store),
nil, store, features, supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
origNewGuardian := guardian.New origNewGuardian := guardian.New
guardian.MockDashboardGuardian(&guardian.FakeDashboardGuardian{CanViewValue: true, CanSaveValue: true}) guardian.MockDashboardGuardian(&guardian.FakeDashboardGuardian{CanViewValue: true, CanSaveValue: true})

View File

@ -50,9 +50,9 @@ func TestDirectSQLStats(t *testing.T) {
guardian.MockDashboardGuardian(fakeGuardian) guardian.MockDashboardGuardian(fakeGuardian)
require.NoError(t, err) require.NoError(t, err)
fStore := folderimpl.ProvideStore(db) fStore := folderimpl.ProvideStore(db)
folderSvc := folderimpl.ProvideService(fStore, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderSvc := folderimpl.ProvideService(
folderimpl.ProvideDashboardFolderStore(db), db, featuremgmt.WithFeatures(), fStore, actest.FakeAccessControl{ExpectedEvaluate: true}, bus.ProvideBus(tracing.InitializeTracerForTest()), dashStore, folderimpl.ProvideDashboardFolderStore(db),
supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest()) nil, db, featuremgmt.WithFeatures(), supportbundlestest.NewFakeBundleService(), nil, cfg, nil, tracing.InitializeTracerForTest())
// create parent folder // create parent folder