MMCTL: Add import delete cmd for removing the import files (#29764)

Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Этот коммит содержится в:
Harsh Aulakh
2025-06-10 15:36:38 +05:30
коммит произвёл GitHub
родитель 0cf6361139
Коммит 09a2037b61
17 изменённых файлов: 348 добавлений и 35 удалений

Просмотреть файл

@@ -410,3 +410,15 @@ func (a *App) ListImports() ([]string, *model.AppError) {
return results, nil
}
func (a *App) DeleteImport(name string) *model.AppError {
filePath := filepath.Join(*a.Config().ImportSettings.Directory, name)
if ok, err := a.FileExists(filePath); err != nil {
return err
} else if !ok {
return nil
}
return a.RemoveFile(filePath)
}

Просмотреть файл

@@ -679,3 +679,37 @@ func TestImportBulkImportWithAttachments(t *testing.T) {
files := GetAttachments(adminUser.Id, th, t)
require.Len(t, files, 11)
}
func TestDeleteImport(t *testing.T) {
th := Setup(t)
defer th.TearDown()
importDir := filepath.Join(th.tempWorkspace, "data", "import")
err := os.MkdirAll(importDir, os.ModePerm)
require.NoError(t, err)
f, err := os.Create(filepath.Join(importDir, "import.zip"))
require.NoError(t, err)
f.Close()
defer func() {
err = os.RemoveAll(importDir)
require.NoError(t, err)
}()
t.Run("delete import successful", func(t *testing.T) {
imports, err := th.App.ListImports()
require.Nil(t, err)
require.Equal(t, 1, len(imports))
require.Equal(t, "import.zip", imports[0])
delErr := th.App.DeleteImport("import.zip")
require.Nil(t, delErr)
imports, err = th.App.ListImports()
require.Nil(t, err)
require.Equal(t, 0, len(imports))
//idempotency check
delErr = th.App.DeleteImport("import.zip")
require.Nil(t, delErr)
})
}