Files
checky/store_test.go
Ian Gulliver 4624956270 Add Store test
2022-03-15 20:49:55 +00:00

70 lines
909 B
Go

package main
import "os"
import "testing"
func TestStore(t *testing.T) {
dir, err := os.MkdirTemp("", "")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(dir)
store := NewStore(dir)
err = store.Write(&storeTest{
Id: "id1",
Opaque: "foo",
})
if err != nil {
t.Fatal(err)
}
err = store.Write(&storeTest{
Id: "id2",
Opaque: "bar",
})
if err != nil {
t.Fatal(err)
}
out1 := &storeTest{
Id: "id1",
}
err = store.Read(out1)
if err != nil {
t.Fatal(err)
}
if out1.Opaque != "foo" {
t.Errorf("Mismatach: %+v", out1)
}
out2 := &storeTest{
Id: "id2",
}
err = store.Read(out2)
if err != nil {
t.Fatal(err)
}
if out2.Opaque != "bar" {
t.Errorf("Mismatach: %+v", out2)
}
}
type storeTest struct {
Id string
Opaque string
}
func (st *storeTest) GetType() string {
return "storeTest"
}
func (st *storeTest) GetId() string {
return st.Id
}