code reorganization
[epoint] / pkg / store / store_test.go
1 package store
2
3 import (
4         "testing"
5 )
6
7 var testData = map[string]string{
8         "A":           "a",
9         "B":           "b",
10         "C":           "c",
11         "D":           "d",
12         "foo_bar-baz": "a\nb\nc\nd\n",
13 }
14
15 func TestStore(t *testing.T) {
16         c, err := Open("teststore")
17         defer c.Close()
18         if err != nil {
19                 t.Errorf("open failed: %s", err)
20                 return
21         }
22         err = c.Ensure("abc")
23         if err != nil {
24                 t.Errorf("ensure failed: %s", err)
25                 return
26         }
27         for k, v := range testData {
28                 err = c.Set("abc", k, []byte(v))
29                 if err != nil {
30                         t.Errorf("Set failed: %s", err)
31                 }
32         }
33         for k, v := range testData {
34                 d, err := c.Get("abc", k)
35                 if err != nil {
36                         t.Errorf("Get failed: %s", err)
37                         continue
38                 }
39                 if string(d) != v {
40                         t.Errorf("expected %s; got %s", v, string(d))
41                 }
42         }
43 }
44
45 func TestPersist(t *testing.T) {
46         c, err := Open("teststore")
47         if err != nil {
48                 t.Errorf("open failed: %s", err)
49                 return
50         }
51         err = c.Ensure("abc")
52         if err != nil {
53                 t.Errorf("ensure failed: %s", err)
54                 return
55         }
56         for k, v := range testData {
57                 err = c.Set("abc", k, []byte(v))
58                 if err != nil {
59                         t.Errorf("Set failed: %s", err)
60                 }
61         }
62         c.Close()
63
64         c, err = Open("teststore")
65         if err != nil {
66                 t.Errorf("open failed: %s", err)
67                 return
68         }
69         for k, v := range testData {
70                 d, err := c.Get("abc", k)
71                 if err != nil {
72                         t.Errorf("Get failed: %s", err)
73                         continue
74                 }
75                 if string(d) != v {
76                         t.Errorf("expected %s; got %s", v, string(d))
77                 }
78         }
79 }