code-kumpel/tests/secrets.test.js
2026-10-24 04:51:23 +02:00

28 lines
1.1 KiB
JavaScript

/**
* Secret-Filter Tests (#91)
* Run: node tests/secrets.test.js
*/
const assert = require('assert');
const path = require('path');
// Load privacy.js in node
const privacy = require(path.join(__dirname, '..', 'privacy.js'));
function mustRedact(sample, label) {
const r = privacy.redactSecrets(sample);
assert.ok(r.count >= 1, label + ' should redact, got: ' + r.text.slice(0, 80));
assert.ok(r.text.includes('[ENTFERNT]'), label + ' missing marker');
}
mustRedact('sk-proj-abcdefghijklmnopqrstuvwxyz123456', 'openai proj');
mustRedact('sk_live_abcdefghijklmnopqrstuv', 'stripe live');
mustRedact('xoxb-1234567890-abcdefghij', 'slack');
mustRedact('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0In0.signaturepartxx', 'jwt');
mustRedact('-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEA\n-----END RSA PRIVATE KEY-----', 'rsa key');
mustRedact('OPENAI_API_KEY=sk-abcdefghijklmnopqrstuvwxyz', 'env key');
mustRedact('Bearer abcdefghijklmnopqrstuvwxyz0123456789', 'bearer');
const clean = privacy.redactSecrets('hello world react hooks');
assert.strictEqual(clean.count, 0);
console.log('secrets.test.js OK');