From 9e841ef21d4fbe6817191037c6154ae9b5b2a5e4 Mon Sep 17 00:00:00 2001 From: Artur Wierzbicki Date: Thu, 28 Jul 2022 13:27:26 +0400 Subject: [PATCH] Storage: fix delete folder (#52860) --- pkg/services/store/service.go | 2 +- pkg/services/store/service_test.go | 24 ++++++++++++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/pkg/services/store/service.go b/pkg/services/store/service.go index c2f484a2129..fbf0244ce65 100644 --- a/pkg/services/store/service.go +++ b/pkg/services/store/service.go @@ -331,7 +331,7 @@ func (s *standardStorageService) DeleteFolder(ctx context.Context, user *models. if storagePath == "" { storagePath = filestorage.Delimiter } - return root.Store().DeleteFolder(ctx, storagePath, &filestorage.DeleteFolderOptions{Force: true, AccessFilter: guardian.getPathFilter(ActionFilesDelete)}) + return root.Store().DeleteFolder(ctx, storagePath, &filestorage.DeleteFolderOptions{Force: cmd.Force, AccessFilter: guardian.getPathFilter(ActionFilesDelete)}) } func (s *standardStorageService) CreateFolder(ctx context.Context, user *models.SignedInUser, cmd *CreateFolderCmd) error { diff --git a/pkg/services/store/service_test.go b/pkg/services/store/service_test.go index bee9b4008c3..701f01b52bd 100644 --- a/pkg/services/store/service_test.go +++ b/pkg/services/store/service_test.go @@ -176,14 +176,26 @@ func TestShouldDelegateFolderCreation(t *testing.T) { func TestShouldDelegateFolderDeletion(t *testing.T) { service, mockStorage, storageName := setupUploadStore(t, nil) + cmds := []*DeleteFolderCmd{ + { + Path: storageName, + Force: false, + }, + { + Path: storageName, + Force: true, + }} - mockStorage.On("DeleteFolder", mock.Anything, "/", mock.Anything).Return(nil) + ctx := context.Background() - err := service.DeleteFolder(context.Background(), dummyUser, &DeleteFolderCmd{ - Path: storageName, - Force: true, - }) - require.NoError(t, err) + for _, cmd := range cmds { + mockStorage.On("DeleteFolder", ctx, "/", &filestorage.DeleteFolderOptions{ + Force: cmd.Force, + AccessFilter: allowAllPathFilter, + }).Once().Return(nil) + err := service.DeleteFolder(ctx, dummyUser, cmd) + require.NoError(t, err) + } } func TestShouldUploadSvg(t *testing.T) {