mirror of
https://github.com/grafana/grafana.git
synced 2025-08-03 02:32:19 +08:00
Nested folders: Write to folders table even if the feature toggle is off (#77788)
* Update folders table even if the feature toggle is off * Fix failing test * Apply review feedback * Revert test changes
This commit is contained in:
@ -178,12 +178,13 @@ func TestIntegrationFolderService(t *testing.T) {
|
||||
|
||||
t.Run("Given user has permission to save", func(t *testing.T) {
|
||||
origNewGuardian := guardian.New
|
||||
guardian.MockDashboardGuardian(&guardian.FakeDashboardGuardian{CanSaveValue: true})
|
||||
guardian.MockDashboardGuardian(&guardian.FakeDashboardGuardian{CanSaveValue: true, CanViewValue: true})
|
||||
service.features = featuremgmt.WithFeatures()
|
||||
|
||||
t.Run("When creating folder should not return access denied error", func(t *testing.T) {
|
||||
dash := dashboards.NewDashboardFolder("Test-Folder")
|
||||
dash.ID = rand.Int63()
|
||||
dash.UID = util.GenerateShortUID()
|
||||
f := dashboards.FromDashboard(dash)
|
||||
|
||||
dashStore.On("ValidateDashboardBeforeSave", mock.Anything, mock.AnythingOfType("*dashboards.Dashboard"), mock.AnythingOfType("bool")).Return(true, nil)
|
||||
@ -193,7 +194,7 @@ func TestIntegrationFolderService(t *testing.T) {
|
||||
actualFolder, err := service.Create(context.Background(), &folder.CreateFolderCommand{
|
||||
OrgID: orgID,
|
||||
Title: dash.Title,
|
||||
UID: "someuid",
|
||||
UID: dash.UID,
|
||||
SignedInUser: usr,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@ -241,6 +242,7 @@ func TestIntegrationFolderService(t *testing.T) {
|
||||
f.ID = rand.Int63()
|
||||
f.UID = util.GenerateShortUID()
|
||||
folderStore.On("GetFolders", mock.Anything, orgID, []string{f.UID}).Return(map[string]*folder.Folder{f.UID: f}, nil)
|
||||
folderStore.On("GetFolderByUID", mock.Anything, orgID, f.UID).Return(f, nil)
|
||||
|
||||
var actualCmd *dashboards.DeleteDashboardCommand
|
||||
dashStore.On("DeleteDashboard", mock.Anything, mock.Anything).Run(func(args mock.Arguments) {
|
||||
@ -582,6 +584,7 @@ func TestIntegrationNestedFolderService(t *testing.T) {
|
||||
depth: 1,
|
||||
forceDelete: true,
|
||||
dashboardErr: dashboards.ErrFolderNotFound,
|
||||
folderErr: folder.ErrFolderNotFound,
|
||||
libPanelParentErr: model.ErrLibraryElementNotFound,
|
||||
desc: "With nested folder feature flag off and force deletion of rules",
|
||||
},
|
||||
@ -723,7 +726,7 @@ func TestNestedFolderServiceFeatureToggle(t *testing.T) {
|
||||
|
||||
func TestNestedFolderService(t *testing.T) {
|
||||
t.Run("with feature flag unset", func(t *testing.T) {
|
||||
t.Run("When create folder, no create in folder table done", func(t *testing.T) {
|
||||
t.Run("Should create a folder in both dashboard and folders tables", func(t *testing.T) {
|
||||
g := guardian.New
|
||||
guardian.MockDashboardGuardian(&guardian.FakeDashboardGuardian{CanSaveValue: true})
|
||||
t.Cleanup(func() {
|
||||
@ -748,8 +751,7 @@ func TestNestedFolderService(t *testing.T) {
|
||||
SignedInUser: usr,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
// CreateFolder should not call the folder store create if the feature toggle is not enabled.
|
||||
require.False(t, nestedFolderStore.CreateCalled)
|
||||
require.True(t, nestedFolderStore.CreateCalled)
|
||||
})
|
||||
})
|
||||
|
||||
|
Reference in New Issue
Block a user