2025-07-06 22:59:08 +03:00
|
|
|
package filesystem
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"os"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestStorageMethods(t *testing.T) {
|
2025-07-27 19:02:05 +03:00
|
|
|
st, err := New("./testdata")
|
2025-07-06 22:59:08 +03:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
name := "mytestfile"
|
|
|
|
|
2025-07-27 19:02:05 +03:00
|
|
|
defer os.RemoveAll("./testdata/m")
|
|
|
|
|
|
|
|
data := []byte("contents of my test file")
|
2025-07-06 22:59:08 +03:00
|
|
|
|
|
|
|
if err := st.Save(name, data); err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if err := st.Save(name, data); err != nil {
|
|
|
|
t.Errorf("rewrite operatoin failed: %v", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
b, err := st.Load(name)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if !bytes.Equal(data, b) {
|
|
|
|
t.Error("loaded file differs from original")
|
|
|
|
}
|
|
|
|
|
|
|
|
if err := st.Delete(name); err != nil {
|
|
|
|
t.Errorf("delete failed: %v", err)
|
|
|
|
}
|
|
|
|
|
|
|
|
if err := st.Delete(name); err != nil {
|
|
|
|
t.Errorf("delete of non-existent failed: %v", err)
|
|
|
|
}
|
|
|
|
}
|