Files

48 lines
1.2 KiB
Go

package runtimeflags
import (
"context"
"testing"
"github.com/kandev/kandev/internal/testutil"
)
func TestPostgresStoreRoundTrip(t *testing.T) {
db := testutil.OpenIsolatedPostgres(t, testutil.PostgresDSNFromEnv(t))
store, err := NewSQLiteStore(db, db)
if err != nil {
t.Fatalf("NewSQLiteStore postgres: %v", err)
}
ctx := context.Background()
if err := store.SetOverride(ctx, "features.office", true); err != nil {
t.Fatalf("SetOverride true: %v", err)
}
if err := store.SetOverride(ctx, "features.office", false); err != nil {
t.Fatalf("SetOverride false: %v", err)
}
overrides, err := store.ListOverrides(ctx)
if err != nil {
t.Fatalf("ListOverrides: %v", err)
}
value, ok := overrides["features.office"]
if !ok {
t.Fatal("features.office override missing after upsert")
}
if value {
t.Fatal("features.office override = true, want false")
}
if err := store.DeleteOverride(ctx, "features.office"); err != nil {
t.Fatalf("DeleteOverride: %v", err)
}
overrides, err = store.ListOverrides(ctx)
if err != nil {
t.Fatalf("ListOverrides after delete: %v", err)
}
if _, ok := overrides["features.office"]; ok {
t.Fatal("features.office override still present after delete")
}
}