idun/pkg/storage/localefilesystem_test.go

74 lines
1.8 KiB
Go

package storage
import (
"github.com/stretchr/testify/assert"
"os"
"testing"
"time"
)
func TestLocaleFileSystemReadFromFolder(t *testing.T) {
dname, err := os.MkdirTemp("", "sampledir")
assert.Nil(t, err, "should not throw error")
d1 := []byte("hello\ngo\n")
err = os.WriteFile(dname+"/file1", d1, 0644)
assert.Nil(t, err, "should not throw error")
err = os.WriteFile(dname+"/file", d1, 0644)
assert.Nil(t, err, "should not throw error")
config := make(map[string]string)
config["path"] = dname
lfs := LocaleFileSystem{Config: config}
files, err := lfs.ListFiles()
assert.Nil(t, err, "should get files without throwing error")
filelistFromLFS := []string{}
for _, f := range files {
name, err := f.GetName()
assert.Nil(t, err, "should not get error")
filelistFromLFS = append(filelistFromLFS, name)
}
fileListWanted := []string{dname + "/file", dname + "/file1"}
assert.Equal(t, fileListWanted, filelistFromLFS, "should get currect files")
os.RemoveAll(dname)
}
func TestLocaleFileSystemDeleteFile(t *testing.T) {
dname, err := os.MkdirTemp("", "sampledir")
assert.Nil(t, err, "should not throw error")
d1 := []byte("hello\ngo\n")
err = os.WriteFile(dname+"/file1", d1, 0644)
assert.Nil(t, err, "should not throw error")
f := GeneralFile{
name: dname + "/file1",
time: time.Time{},
}
FileToDelete := []File{f}
config := make(map[string]string)
config["path"] = dname
lfs := LocaleFileSystem{Config: config}
files, err := lfs.ListFiles()
assert.Nil(t, err, "should not throw error")
assert.Equal(t, 1, len(files), "should found one file")
err = lfs.Delete(FileToDelete)
assert.Nil(t, err, "should not throw error")
files, err = lfs.ListFiles()
assert.Nil(t, err, "should not throw error")
assert.Equal(t, 0, len(files), "should found zero file")
os.RemoveAll(dname)
}