package store import ( "testing" ) var testData = map[string]string{ "A": "a", "B": "b", "C": "c", "D": "d", "foo_bar-baz": "a\nb\nc\nd\n", } func TestStore(t *testing.T) { c, err := Open("teststore") defer c.Close() if err != nil { t.Errorf("open failed: %s", err) return } err = c.Ensure("abc") if err != nil { t.Errorf("ensure failed: %s", err) return } for k, v := range testData { err = c.Set("abc", k, []byte(v)) if err != nil { t.Errorf("Set failed: %s", err) } } for k, v := range testData { d, err := c.Get("abc", k) if err != nil { t.Errorf("Get failed: %s", err) continue } if string(d) != v { t.Errorf("expected %s; got %s", v, string(d)) } } } func TestPersist(t *testing.T) { c, err := Open("teststore") if err != nil { t.Errorf("open failed: %s", err) return } err = c.Ensure("abc") if err != nil { t.Errorf("ensure failed: %s", err) return } for k, v := range testData { err = c.Set("abc", k, []byte(v)) if err != nil { t.Errorf("Set failed: %s", err) } } c.Close() c, err = Open("teststore") if err != nil { t.Errorf("open failed: %s", err) return } for k, v := range testData { d, err := c.Get("abc", k) if err != nil { t.Errorf("Get failed: %s", err) continue } if string(d) != v { t.Errorf("expected %s; got %s", v, string(d)) } } }