Files
with/kv_test.go
Bel LaPointe cc18763944 stead from pg
2026-03-09 09:06:33 -06:00

45 lines
932 B
Go

package with_test
import (
"context"
"database/sql"
"testing"
"gitea.bel.blue/bel/with"
)
func TestKV(t *testing.T) {
ctx := context.Background()
if err := with.Sqlite(ctx, ":memory:", func(db *sql.DB) error {
return with.KV(ctx, db, func(kv with.SQLKV) error {
if _, err := kv.Get(ctx, "k"); err == nil {
t.Error("404 no err")
}
if err := kv.Set(ctx, "k", []byte("v")); err != nil {
t.Error("err on insert", err)
}
if v, err := kv.Get(ctx, "k"); err != nil {
t.Error("err on get", err)
} else if string(v) != "v" {
t.Errorf("expected 'v' but got %q", v)
}
if err := kv.Set(ctx, "k", []byte("v2")); err != nil {
t.Error("err on update", err)
}
if v, err := kv.Get(ctx, "k"); err != nil {
t.Error("err on get updated", err)
} else if string(v) != "v2" {
t.Errorf("expected 'v2' but got %q", v)
}
return nil
})
}); err != nil {
t.Fatal(err)
}
}