26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { redactSensitiveContent } from './redaction.js';
|
|
|
|
describe('redactSensitiveContent', (): void => {
|
|
it('redacts seeded secret and PII canaries before persistence or egress', (): void => {
|
|
const result = redactSensitiveContent(
|
|
'email canary@example.test token=sk_CANARY12345678 phone +1 555 555 1212',
|
|
);
|
|
expect(result.content).not.toContain('canary@example.test');
|
|
expect(result.content).not.toContain('sk_CANARY12345678');
|
|
expect(result.content).not.toContain('+1 555 555 1212');
|
|
expect(result.classifications).toEqual(['secret', 'pii']);
|
|
});
|
|
|
|
it('redacts common provider credential formats', (): void => {
|
|
const result = redactSensitiveContent(
|
|
'Authorization: Bearer canary.bearer.token jwt eyJcanary.eyJpayload.eyJsignature aws AKIACANARY1234567890',
|
|
);
|
|
|
|
expect(result.content).not.toContain('canary.bearer.token');
|
|
expect(result.content).not.toContain('eyJcanary.eyJpayload.eyJsignature');
|
|
expect(result.content).not.toContain('AKIACANARY1234567890');
|
|
expect(result.classifications).toEqual(['secret']);
|
|
});
|
|
});
|