'use strict'; const assert = require('assert'); const { redactText } = require('../src/utils/diagnostics'); const secret = 'DoNotLeak123456'; const input = `https://example.test/path?username=user@example.com&password=${secret}&confirmation_password=${secret}&pli=1`; const redacted = redactText(input); assert(!redacted.includes(secret), '诊断脱敏后不得保留密码值'); assert(redacted.includes('password=***')); assert(redacted.includes('confirmation_password=***')); const googleApiKey = `AIza${'A'.repeat(35)}`; const geminiApiKey = `AQ.${'B'.repeat(30)}`; const keyRedacted = redactText(`https://example.test?key=${googleApiKey}&gemini=${geminiApiKey}`); assert(!keyRedacted.includes(googleApiKey), 'Google API Key 不得进入诊断日志'); assert(!keyRedacted.includes(geminiApiKey), 'Gemini API Key 不得进入诊断日志'); assert(keyRedacted.includes('key=AIza***')); assert(keyRedacted.includes('gemini=AQ.***')); console.log('diagnostics_sensitive_url_redaction.test.js: PASS');