fix: prevent sensitive data logging (#70)
* feat: Add sensitive data masking to packet logging by introducing a sanitization function and a list of sensitive keys. * test: mock console methods in logger tests and restore after each test * refactor: remove redundant sensitive data masking functions and integrate safeStringifyPacket utility for improved logging * fix: run format:write * test: enhance logger tests with error handling for directory setup and cleanup * refactor: optimize sensitive data masking logic by checking for exact matches in sensitive keys * refactor: enhance sensitive data masking to handle circular references and improve sanitization logic * refactor: update sensitive data masking comments and test descriptions to improve clarity and consistency * test: enhance logger tests with dynamic log directory creation and cleanup after tests * test: add unit tests for handling malformed JSON strings in sensitive data masking
This commit is contained in:
1 parent
56137092be
commit
5155e37fd1
5 files changed
+238
-22
No files matched your search
@@ -1,4 +1,4 @@
|
||||
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
||||
import { describe, it, expect, vi, beforeEach, afterEach, afterAll } from 'vitest';
|
||||
import { logger } from '../../utils/logger';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
@@ -42,8 +42,38 @@ describe('Logger Utilities', () => {
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
if (!fs.existsSync(testLogDir)) {
|
||||
vi.spyOn(console, 'log').mockImplementation(() => {});
|
||||
vi.spyOn(console, 'error').mockImplementation(() => {});
|
||||
try {
|
||||
if (fs.existsSync(testLogDir)) {
|
||||
fs.rmSync(testLogDir, { recursive: true, force: true });
|
||||
}
|
||||
fs.mkdirSync(testLogDir, { recursive: true });
|
||||
} catch (err) {
|
||||
console.error('beforeEach: setup testLogDir failed', err);
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
vi.restoreAllMocks();
|
||||
try {
|
||||
if (fs.existsSync(testLogDir)) {
|
||||
fs.rmSync(testLogDir, { recursive: true, force: true });
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('afterEach: cleanup testLogDir failed', err);
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
try {
|
||||
if (fs.existsSync(testLogDir)) {
|
||||
fs.rmSync(testLogDir, { recursive: true, force: true });
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('afterAll: cleanup testLogDir failed', err);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user