36 lines
889 B
Go
36 lines
889 B
Go
|
|
package store
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestConfigValues_EmptyThenUpsertOverwrites(t *testing.T) {
|
||
|
|
db := openTestDB(t)
|
||
|
|
ctx := context.Background()
|
||
|
|
|
||
|
|
values, err := db.ConfigValues(ctx)
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("ConfigValues (empty): %v", err)
|
||
|
|
}
|
||
|
|
if len(values) != 0 {
|
||
|
|
t.Fatalf("expected no overrides in a fresh DB, got %v", values)
|
||
|
|
}
|
||
|
|
|
||
|
|
if err := db.SetConfigValue(ctx, "session.duration", "168"); err != nil {
|
||
|
|
t.Fatalf("SetConfigValue: %v", err)
|
||
|
|
}
|
||
|
|
// Same key again: upsert must overwrite, not error or duplicate.
|
||
|
|
if err := db.SetConfigValue(ctx, "session.duration", "24"); err != nil {
|
||
|
|
t.Fatalf("SetConfigValue (overwrite): %v", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
values, err = db.ConfigValues(ctx)
|
||
|
|
if err != nil {
|
||
|
|
t.Fatalf("ConfigValues: %v", err)
|
||
|
|
}
|
||
|
|
if len(values) != 1 || values["session.duration"] != "24" {
|
||
|
|
t.Fatalf("expected {session.duration: 24}, got %v", values)
|
||
|
|
}
|
||
|
|
}
|