Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
package skdg
import "testing"
func TestShortRecommendDefaultsPreserveLegacyDeployment(t *testing.T) {
var nilConfig *GlobalConfig
if !nilConfig.ShortRecommendEnabled() {
t.Fatal("nil config should default to enabled")
}
if got := nilConfig.ShortRecommendCron(); got != defaultShortRecommendCron {
t.Fatalf("cron = %q, want %q", got, defaultShortRecommendCron)
}
if got := nilConfig.ShortRecommendKeyTTL(); got != 72 {
t.Fatalf("TTL hours = %d, want 72", got)
}
}
func TestShortRecommendExplicitConfig(t *testing.T) {
disabled := false
cfg := &GlobalConfig{}
cfg.ShortRecommend.Enabled = &disabled
cfg.ShortRecommend.Cron = "0 0 5 * * ?"
cfg.ShortRecommend.KeyTTLHours = 96
initializationLimit := int64(10_000)
cfg.ShortRecommend.MaxInitializationWrites = &initializationLimit
if cfg.ShortRecommendEnabled() {
t.Fatal("configured disabled should be honored")
}
if got := cfg.ShortRecommendCron(); got != cfg.ShortRecommend.Cron {
t.Fatalf("cron = %q", got)
}
if got := cfg.ShortRecommendKeyTTL(); got != 96 {
t.Fatalf("TTL hours = %d", got)
}
if got := cfg.ShortRecommendInitializationLimit(); got != 10_000 {
t.Fatalf("initialization limit = %d", got)
}
}
func TestShortRecommendProductionDefaultsToFailClosedInitializationGuard(t *testing.T) {
cfg := &GlobalConfig{}
cfg.Base.Env = "prod"
if got := cfg.ShortRecommendInitializationLimit(); got != defaultProdInitializationLimit {
t.Fatalf("initialization limit = %d, want %d", got, defaultProdInitializationLimit)
}
unlimited := int64(0)
cfg.ShortRecommend.MaxInitializationWrites = &unlimited
if got := cfg.ShortRecommendInitializationLimit(); got != 0 {
t.Fatalf("explicit initialization limit = %d, want 0", got)
}
}