28 lines
1.1 KiB
JavaScript
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');
|