MMCTL: Add import delete cmd for removing the import files (#29764)
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
0cf6361139
Коммит
09a2037b61
@@ -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)
|
||||
})
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user