UNPKG

@wgtechlabs/log-engine

Version:

A lightweight, security-first logging utility with automatic data redaction for Node.js applications - the first logging library with built-in PII protection.

72 lines 2.3 kB
"use strict"; /** * Shared test utilities for redaction tests * Common setup, mocks, and helper functions */ Object.defineProperty(exports, "__esModule", { value: true }); exports.originalConsole = exports.mockConsole = void 0; exports.setupConsoleMocks = setupConsoleMocks; exports.restoreConsole = restoreConsole; exports.setupTestEnvironment = setupTestEnvironment; exports.restoreEnvironment = restoreEnvironment; // Mock console methods to capture output for integration tests exports.mockConsole = { log: jest.fn(), warn: jest.fn(), error: jest.fn() }; // Store original console methods exports.originalConsole = { log: console.log, warn: console.warn, error: console.error }; /** * Setup console mocks for testing */ function setupConsoleMocks() { jest.clearAllMocks(); console.log = exports.mockConsole.log; console.warn = exports.mockConsole.warn; console.error = exports.mockConsole.error; } /** * Restore original console methods */ function restoreConsole() { console.log = exports.originalConsole.log; console.warn = exports.originalConsole.warn; console.error = exports.originalConsole.error; } /** * Setup environment for testing */ function setupTestEnvironment() { const originalEnv = { ...process.env }; return { originalEnv }; } /** * Restore environment after testing */ function restoreEnvironment(originalEnv) { // Only remove environment variables that were added during the test // (i.e., those not present in the originalEnv) // Create a copy of the keys to avoid mutation during iteration const currentEnvKeys = Object.keys(process.env); for (const key of currentEnvKeys) { if (!Object.prototype.hasOwnProperty.call(originalEnv, key)) { // Safe deletion using explicit type assertion delete process.env[key]; } } // Restore or update variables that existed originally // Iterate over originalEnv keys safely const originalEnvKeys = Object.keys(originalEnv); for (const key of originalEnvKeys) { if (Object.prototype.hasOwnProperty.call(originalEnv, key)) { // Safe assignment using explicit access process.env[key] = originalEnv[key]; } } } //# sourceMappingURL=test-utils.js.map