From 462495627040eb73d6450100d516d9dffa6bea79 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Tue, 15 Mar 2022 20:49:55 +0000 Subject: [PATCH] Add Store test --- store_test.go | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 store_test.go diff --git a/store_test.go b/store_test.go new file mode 100644 index 0000000..e8f7ce9 --- /dev/null +++ b/store_test.go @@ -0,0 +1,69 @@ +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 +}