fix: safely check if the directory exists (#7353)

Signed-off-by: nikpivkin <nikita.pivkin@smartforce.io>
This commit is contained in:
Nikita Pivkin
2024-08-21 08:37:42 +06:00
committed by GitHub
parent db2c95598d
commit 05a829715f
2 changed files with 49 additions and 27 deletions

View File

@@ -2,29 +2,13 @@ package fsutils
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func touch(t *testing.T, name string) {
f, err := os.Create(name)
if err != nil {
t.Fatal(err)
}
if err := f.Close(); err != nil {
t.Fatal(err)
}
}
func write(t *testing.T, name, content string) {
err := os.WriteFile(name, []byte(content), 0666)
if err != nil {
t.Fatal(err)
}
}
func TestCopyFile(t *testing.T) {
type args struct {
src string
@@ -72,3 +56,47 @@ func TestCopyFile(t *testing.T) {
})
}
}
func TestDirExists(t *testing.T) {
t.Run("invalid path", func(t *testing.T) {
assert.False(t, DirExists("\000invalid:path"))
})
t.Run("valid path", func(t *testing.T) {
assert.True(t, DirExists(t.TempDir()))
})
t.Run("dir not exist", func(t *testing.T) {
assert.False(t, DirExists(filepath.Join(t.TempDir(), "tmp")))
})
t.Run("file path", func(t *testing.T) {
filePath := filepath.Join(t.TempDir(), "tmp")
f, err := os.Create(filePath)
require.NoError(t, f.Close())
require.NoError(t, err)
assert.False(t, DirExists(filePath))
})
}
func TestFileExists(t *testing.T) {
t.Run("invalid path", func(t *testing.T) {
assert.False(t, FileExists("\000invalid:path"))
})
t.Run("valid path", func(t *testing.T) {
filePath := filepath.Join(t.TempDir(), "tmp")
f, err := os.Create(filePath)
require.NoError(t, f.Close())
require.NoError(t, err)
assert.True(t, FileExists(filePath))
})
t.Run("file not exist", func(t *testing.T) {
assert.False(t, FileExists(filepath.Join(t.TempDir(), "tmp")))
})
t.Run("dir path", func(t *testing.T) {
assert.False(t, FileExists(t.TempDir()))
})
}