Create dbstream interface

This commit is contained in:
Bel LaPointe
2021-02-07 12:53:56 -06:00
parent c0d561aa50
commit dcf1594e17
4 changed files with 64 additions and 9 deletions

View File

@@ -207,6 +207,22 @@ type = local
} else if keys[0] != validKey {
t.Errorf("%T) List(prefix)[0] != %s: %s", db, validKey, keys[0])
}
if dbstream, ok := db.(DBStream); ok {
log.Printf("trying %T as DBStream", dbstream)
raw := "raw"
if err := dbstream.SetStream("k", strings.NewReader(raw), "ns1", "ns2"); err != nil {
t.Errorf("%T) cannot setstream: %v", dbstream, err)
}
if r, err := dbstream.GetStream("k", "ns1", "ns2"); err != nil {
t.Errorf("%T) cannot getstream: %v", dbstream, err)
} else if b, err := ioutil.ReadAll(r); err != nil {
t.Errorf("%T) cannot readall getstream: %v", dbstream, err)
} else if string(b) != raw {
t.Errorf("%T) wrong getstream: %v", dbstream, string(b))
}
}
t.Logf(" %T: close", db)
if err := db.Close(); err != nil {
t.Errorf("cannot close %T: %v", db, err)