rproxy3/storage/db_test.go

47 lines
857 B
Go
Executable File

package storage
import (
"gitea.inhome.blapointe.com/local/rproxy3/storage/packable"
"os"
"testing"
)
func TestDB(t *testing.T) {
dbPath := "./fake_db_path"
defer os.Remove(dbPath)
cases := []func() DB{
func() DB {
return DB(NewMap())
},
}
raw := "hello world"
for _, c := range cases {
os.Remove(dbPath)
s := packable.NewString(raw)
db := c()
if err := db.Set("ns", "key", s); err != nil {
t.Errorf("cannot save: %v", err)
}
r := packable.NewString("")
if err := db.Get("ns", "key", r); err != nil {
t.Errorf("cannot load: %v", err)
}
if s.String() != r.String() {
t.Errorf("set/get values not equal: %v vs %v", s, r)
}
if s.String() != raw {
t.Errorf("set/get values not equal to raw: %v vs %v", s, raw)
}
if err := db.Close(); err != nil {
t.Errorf("cannot close bolt: %v", err)
}
}
}