package config import ( "strings" "testing" ) func TestAgentCaptureEvidenceIsIndependentOfDebug(t *testing.T) { setAgentEnvironment(t) t.Setenv("AGENT_MOCK_SCENARIO_FILE", "") t.Setenv("AGENT_MOCK_APPLIED_SIP_FILE", "") for k, v := range map[string]string{"ASTERISK_CONFIG_DIR": "/tmp/asterisk-config", "ASTERISK_BIN": "/tmp/asterisk", "ASTERISK_LIBRARY_DIR": "/tmp/lib", "AGENT_OSS_ALLOWED_HOST": "test.oss-cn-beijing.aliyuncs.com", "AGENT_HEP_LISTEN_ADDR": "127.0.0.1:19060", "AGENT_EVIDENCE_ROOT": ""} { t.Setenv(k, v) } s, err := LoadAgentEnvironment("nonprod-real") if err != nil { t.Fatalf("normal operation requires no external capture: %v", err) } s.Debug = true if err = s.ValidateCapture(); err != nil { t.Fatalf("Debug logging must not require capture: %v", err) } s.Capture = true if err = s.ValidateCapture(); err == nil || !strings.Contains(err.Error(), "AGENT_EVIDENCE_ROOT") { t.Fatalf("capture requires absolute evidence root: %v", err) } s.EvidenceRoot = "/tmp/evidence" if err = s.ValidateCapture(); err != nil { t.Fatal(err) } }