package qaopsai import ( "context" "encoding/json" "knowledge-governance/internal/dobotaiops" "testing" "time" ) func TestRunWithUnavailableStoreFailsClosed(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), 20*time.Millisecond) defer cancel() defer func() { if recover() != nil { t.Fatal("unavailable worker panicked") } }() called := false (&Store{}).Run(ctx, func(err error) { called = err == ErrUnavailable }) if !called { t.Fatal("unavailable worker failed silently") } } func TestReferencesPreserveSourceKnowledgeTitleWithoutInventingEvidence(t *testing.T) { r := dobotaiops.Record{References: json.RawMessage(`[{"knowledge_title":"MG400官方连接说明","id":"only-title"},{"title":"原始标题","knowledge_title":"不能覆盖","content":"逐字证据"}]`)} refs := referencesFor(r) if len(refs) != 2 || refs[0].Title != "MG400官方连接说明" || refs[0].Excerpt != "" || refs[1].Title != "原始标题" || refs[1].Excerpt != "逐字证据" { t.Fatalf("source citation titles lost or title-only treated as evidence: %+v", refs) } }