74 lines
1.8 KiB
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)
|
||
|
}
|