Import source: handler/fs/path

Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
This commit is contained in:
arsam
2026-09-18 23:18:57 +03:30
parent 055d864490
commit 79c706730b
2 changed files with 176 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
//go:build unit
// +build unit
package fs_test
import (
"os"
"testing"
"github.com/stretchr/testify/require"
"reactor-crw/handler/fs"
)
func TestNewPathResolver(t *testing.T) {
paths := []struct {
name string
msg string
errExpected bool
}{
{" ", "Expected an error during resolving empty path", true},
{"invalid_path", "Expected an error during resolving non-existent dir", true},
{os.TempDir(), "Wasn't expected an error", false},
}
for _, path := range paths {
_, err := fs.NewPathResolver(path.name)
if path.errExpected {
require.Errorf(t, err, path.msg)
}
if !path.errExpected {
require.NoError(t, err, path.msg)
}
}
}
func TestPathResolver_CreateFolder(t *testing.T) {
p, _ := fs.NewPathResolver(os.TempDir())
folders := []struct {
name string
errExpected bool
}{
{name: "test"},
{name: "_123_test"},
{name: "109483___"},
}
for _, folder := range folders {
err := p.CreateFolder(folder.name)
if !folder.errExpected {
require.NoError(t, err, "Wasn't expected an error during creating %s", folder.name)
}
if folder.errExpected {
require.Error(t, err, "Expected an error during creating %s", folder.name)
}
p.Remove(folder.name)
}
p = &fs.PathResolver{}
err := p.CreateFolder("test")
require.Error(t, err, "Expected an error during creating folder")
}
func TestPathResolver_CreateFile(t *testing.T) {
p, _ := fs.NewPathResolver(os.TempDir())
_, err := p.CreateFile("filename")
require.Error(t, err, "Expected an error during file. Folder wasn't created yet.")
_ = p.CreateFolder("test")
_, err = p.CreateFile("filename")
require.NoError(t, err, "Wasn't expected an error during creating filename")
filePath := "./test/filename"
_, err = os.Stat(filePath)
require.NoError(t, err, "File %s wasn't created", filePath)
p.Remove(filePath)
}