mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 22:06:38 +08:00
53 lines
1.7 KiB
Go
53 lines
1.7 KiB
Go
// Copyright 2026 Arctel.net
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package publicconfig
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"Wavelet/openflare/plugins/server/kernel/model"
|
|
"Wavelet/openflare/plugins/server/kernel/repository"
|
|
"Wavelet/openflare/plugins/server/kernel/testhelper"
|
|
)
|
|
|
|
func TestPublicConfigSeesSaveOrUpdateThroughAdminCache(t *testing.T) {
|
|
_, _, cleanup := testhelper.SetupTestEnvironment(t)
|
|
t.Cleanup(cleanup)
|
|
|
|
ctx := context.Background()
|
|
provider := New(nil)
|
|
|
|
first, err := provider.PublicConfig(ctx)
|
|
if err != nil {
|
|
t.Fatalf("PublicConfig() warm error = %v", err)
|
|
}
|
|
if got := first[model.ConfigKeySiteName]; got != "OpenFlare" {
|
|
t.Fatalf("PublicConfig()[%q] = %q, want %q", model.ConfigKeySiteName, got, "OpenFlare")
|
|
}
|
|
|
|
if err := repository.SaveOrUpdateSystemConfig(ctx, model.ConfigKeySiteName, "Updated"); err != nil {
|
|
t.Fatalf("SaveOrUpdateSystemConfig(%q) error = %v", model.ConfigKeySiteName, err)
|
|
}
|
|
|
|
got, err := repository.GetSystemConfigByKey(ctx, model.ConfigKeySiteName)
|
|
if err != nil {
|
|
t.Fatalf("GetSystemConfigByKey(%q) error = %v", model.ConfigKeySiteName, err)
|
|
}
|
|
if got.Value != "Updated" {
|
|
t.Fatalf("GetSystemConfigByKey(%q).Value = %q, want %q", model.ConfigKeySiteName, got.Value, "Updated")
|
|
}
|
|
|
|
second, err := provider.PublicConfig(ctx)
|
|
if err != nil {
|
|
t.Fatalf("PublicConfig() after save error = %v", err)
|
|
}
|
|
if got := second[model.ConfigKeySiteName]; got == "OpenFlare" {
|
|
t.Fatalf("PublicConfig() after save [%q] stayed stale at %q", model.ConfigKeySiteName, got)
|
|
}
|
|
if got := second[model.ConfigKeySiteName]; got != "Updated" {
|
|
t.Fatalf("PublicConfig() after save [%q] = %q, want %q", model.ConfigKeySiteName, got, "Updated")
|
|
}
|
|
}
|