1. implemented filesystem storage, NATS object storage and saving to Vault. 2. Test coverage is fine for filesystem and Vault (and NATS object does not really require extensive tests)
46 lines
751 B
Go
46 lines
751 B
Go
package filesystem
|
|
|
|
import (
|
|
"bytes"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestStorageMethods(t *testing.T) {
|
|
st, err := New("./testdata")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
name := "mytestfile"
|
|
|
|
defer os.RemoveAll("./testdata/m")
|
|
|
|
data := []byte("contents of my test file")
|
|
|
|
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)
|
|
}
|
|
}
|