use santh_tracing::{InitConfig, LogLevel};
#[test]
#[ignore = "default sink does not yet redact; redaction is opt-in via RedactingWriter. Tracking: default-sink redaction"]
fn default_file_sink_redacts_secrets() {
let dir = std::env::temp_dir().join("santh_tracing_gap_default_redaction");
std::fs::create_dir_all(&dir).expect("create temp dir");
let log = dir.join("gap.log");
let _ = std::fs::remove_file(&log);
let _guard = InitConfig::new("gap_tool", LogLevel::Info)
.file_sink(&log)
.expect("open log file")
.init();
santh_tracing::tracing::info!(
"leaked token=ghp_0123456789abcdefghijklmnopqrstuvwxyzABCD"
);
let contents = std::fs::read_to_string(&log).unwrap_or_default();
assert!(
!contents.contains("ghp_0123456789"),
"secret leaked to default sink: {contents}"
);
assert!(
contents.contains("[REDACTED]"),
"expected redaction marker in sink output: {contents}"
);
}