47 lines
857 B
Go
Executable File
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)
|
|
}
|
|
}
|
|
}
|