commit b616752bedfae63a9fd5ae23de0328fe5960b9f2
parent 48d610aa4014389343bde4932bee97f6dfb6fe46
Author: lash <dev@holbrook.no>
Date: Thu, 12 Sep 2024 19:46:37 +0100
Achieve >80% coverage on resource/db.go
Diffstat:
1 file changed, 42 insertions(+), 0 deletions(-)
diff --git a/resource/db_test.go b/resource/db_test.go
@@ -92,3 +92,45 @@ func TestDb(t *testing.T) {
rs.WithMenuGetter(tg.GetMenu)
}
+
+func TestDbGetterDirect(t *testing.T) {
+ ctx := context.Background()
+ store := mem.NewMemDb()
+ store.Connect(ctx, "")
+ tg := NewDbResource(store)
+
+ store.SetLock(db.DATATYPE_MENU, false)
+ store.SetPrefix(db.DATATYPE_MENU)
+ err := store.Put(ctx, []byte("foo"), []byte("bar"))
+ if err != nil {
+ t.Fatal(err)
+ }
+ store.SetLock(db.DATATYPE_MENU, true)
+ v, err := tg.GetMenu(ctx, "foo")
+ if err != nil {
+ t.Fatal(err)
+ }
+ if v != "foo" {
+ t.Fatalf("expected 'foo', got '%s'", v)
+ }
+
+ tg.With(db.DATATYPE_STATICLOAD)
+ store.SetLock(db.DATATYPE_STATICLOAD, false)
+ store.SetPrefix(db.DATATYPE_STATICLOAD)
+ err = store.Put(ctx, []byte("inky.txt"), []byte("blinky"))
+ if err != nil {
+ t.Fatal(err)
+ }
+ store.SetLock(db.DATATYPE_STATICLOAD, true)
+ fn, err := tg.DbFuncFor(ctx, "inky")
+ if err != nil {
+ t.Fatal(err)
+ }
+ r, err := fn(ctx, "", nil)
+if err != nil {
+ t.Fatal(err)
+ }
+ if r.Content != "blinky" {
+ t.Fatalf("expected 'foo', got '%s'", v)
+ }
+}