@wgtechlabs/log-engine 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -1
- package/dist/cjs/__tests__/async-test-utils.cjs +276 -0
- package/dist/cjs/__tests__/async-test-utils.d.ts +51 -0
- package/dist/cjs/__tests__/async-test-utils.d.ts.map +1 -0
- package/dist/cjs/__tests__/async-test-utils.js.map +1 -0
- package/dist/cjs/__tests__/redaction/test-utils.cjs +72 -0
- package/dist/cjs/__tests__/redaction/test-utils.d.ts +33 -0
- package/dist/cjs/__tests__/redaction/test-utils.d.ts.map +1 -0
- package/dist/cjs/__tests__/redaction/test-utils.js.map +1 -0
- package/dist/cjs/__tests__/test-utils.cjs +49 -0
- package/dist/cjs/__tests__/test-utils.d.ts +41 -0
- package/dist/cjs/__tests__/test-utils.d.ts.map +1 -0
- package/dist/cjs/__tests__/test-utils.js.map +1 -0
- package/dist/{formatter/colors.js → cjs/formatter/colors.cjs} +1 -0
- package/dist/cjs/formatter/colors.d.ts.map +1 -0
- package/dist/cjs/formatter/colors.js.map +1 -0
- package/dist/{formatter/data-formatter.js → cjs/formatter/data-formatter.cjs} +1 -0
- package/dist/cjs/formatter/data-formatter.d.ts.map +1 -0
- package/dist/cjs/formatter/data-formatter.js.map +1 -0
- package/dist/{formatter/index.js → cjs/formatter/index.cjs} +6 -5
- package/dist/cjs/formatter/index.d.ts.map +1 -0
- package/dist/cjs/formatter/index.js.map +1 -0
- package/dist/{formatter/message-formatter.js → cjs/formatter/message-formatter.cjs} +61 -11
- package/dist/{formatter → cjs/formatter}/message-formatter.d.ts +9 -3
- package/dist/cjs/formatter/message-formatter.d.ts.map +1 -0
- package/dist/cjs/formatter/message-formatter.js.map +1 -0
- package/dist/{formatter/timestamp.js → cjs/formatter/timestamp.cjs} +1 -0
- package/dist/cjs/formatter/timestamp.d.ts.map +1 -0
- package/dist/cjs/formatter/timestamp.js.map +1 -0
- package/dist/{index.js → cjs/index.cjs} +5 -4
- package/dist/{index.d.ts → cjs/index.d.ts} +1 -1
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/{logger/advanced-outputs.js → cjs/logger/advanced-outputs.cjs} +1 -0
- package/dist/cjs/logger/advanced-outputs.d.ts.map +1 -0
- package/dist/cjs/logger/advanced-outputs.js.map +1 -0
- package/dist/{logger/config.js → cjs/logger/config.cjs} +4 -3
- package/dist/cjs/logger/config.d.ts.map +1 -0
- package/dist/cjs/logger/config.js.map +1 -0
- package/dist/{logger/core.js → cjs/logger/core.cjs} +48 -16
- package/dist/{logger → cjs/logger}/core.d.ts +19 -0
- package/dist/cjs/logger/core.d.ts.map +1 -0
- package/dist/cjs/logger/core.js.map +1 -0
- package/dist/{logger/environment.js → cjs/logger/environment.cjs} +2 -1
- package/dist/cjs/logger/environment.d.ts.map +1 -0
- package/dist/cjs/logger/environment.js.map +1 -0
- package/dist/{logger/filtering.js → cjs/logger/filtering.cjs} +2 -1
- package/dist/cjs/logger/filtering.d.ts.map +1 -0
- package/dist/cjs/logger/filtering.js.map +1 -0
- package/dist/{logger/index.js → cjs/logger/index.cjs} +6 -5
- package/dist/cjs/logger/index.d.ts.map +1 -0
- package/dist/cjs/logger/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/{redaction/config.js → cjs/redaction/config.cjs} +1 -0
- package/dist/cjs/redaction/config.d.ts.map +1 -0
- package/dist/cjs/redaction/config.js.map +1 -0
- package/dist/{redaction/index.js → cjs/redaction/index.cjs} +3 -2
- package/dist/cjs/redaction/index.d.ts.map +1 -0
- package/dist/cjs/redaction/index.js.map +1 -0
- package/dist/{redaction/redactor.js → cjs/redaction/redactor.cjs} +2 -1
- package/dist/cjs/redaction/redactor.d.ts.map +1 -0
- package/dist/cjs/redaction/redactor.js.map +1 -0
- package/dist/{types/index.js → cjs/types/index.cjs} +1 -0
- package/dist/{types → cjs/types}/index.d.ts +12 -0
- package/dist/cjs/types/index.d.ts.map +1 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/esm/__tests__/async-test-utils.d.ts +51 -0
- package/dist/esm/__tests__/async-test-utils.d.ts.map +1 -0
- package/dist/esm/__tests__/async-test-utils.js +231 -0
- package/dist/esm/__tests__/async-test-utils.js.map +1 -0
- package/dist/esm/__tests__/redaction/test-utils.d.ts +33 -0
- package/dist/esm/__tests__/redaction/test-utils.d.ts.map +1 -0
- package/dist/esm/__tests__/redaction/test-utils.js +65 -0
- package/dist/esm/__tests__/redaction/test-utils.js.map +1 -0
- package/dist/esm/__tests__/test-utils.d.ts +41 -0
- package/dist/esm/__tests__/test-utils.d.ts.map +1 -0
- package/dist/esm/__tests__/test-utils.js +42 -0
- package/dist/esm/__tests__/test-utils.js.map +1 -0
- package/dist/esm/formatter/colors.d.ts +32 -0
- package/dist/esm/formatter/colors.d.ts.map +1 -0
- package/dist/esm/formatter/colors.js +32 -0
- package/dist/esm/formatter/colors.js.map +1 -0
- package/dist/esm/formatter/data-formatter.d.ts +26 -0
- package/dist/esm/formatter/data-formatter.d.ts.map +1 -0
- package/dist/esm/formatter/data-formatter.js +50 -0
- package/dist/esm/formatter/data-formatter.js.map +1 -0
- package/dist/esm/formatter/index.d.ts +10 -0
- package/dist/esm/formatter/index.d.ts.map +1 -0
- package/dist/esm/formatter/index.js +11 -0
- package/dist/esm/formatter/index.js.map +1 -0
- package/dist/esm/formatter/message-formatter.d.ts +47 -0
- package/dist/esm/formatter/message-formatter.d.ts.map +1 -0
- package/dist/esm/formatter/message-formatter.js +133 -0
- package/dist/esm/formatter/message-formatter.js.map +1 -0
- package/dist/esm/formatter/timestamp.d.ts +27 -0
- package/dist/esm/formatter/timestamp.d.ts.map +1 -0
- package/dist/esm/formatter/timestamp.js +36 -0
- package/dist/esm/formatter/timestamp.js.map +1 -0
- package/dist/esm/index.d.ts +180 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +194 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/logger/advanced-outputs.d.ts +159 -0
- package/dist/esm/logger/advanced-outputs.d.ts.map +1 -0
- package/dist/esm/logger/advanced-outputs.js +542 -0
- package/dist/esm/logger/advanced-outputs.js.map +1 -0
- package/dist/esm/logger/config.d.ts +42 -0
- package/dist/esm/logger/config.d.ts.map +1 -0
- package/dist/esm/logger/config.js +101 -0
- package/dist/esm/logger/config.js.map +1 -0
- package/dist/esm/logger/core.d.ts +171 -0
- package/dist/esm/logger/core.d.ts.map +1 -0
- package/dist/esm/logger/core.js +398 -0
- package/dist/esm/logger/core.js.map +1 -0
- package/dist/esm/logger/environment.d.ts +36 -0
- package/dist/esm/logger/environment.d.ts.map +1 -0
- package/dist/esm/logger/environment.js +58 -0
- package/dist/esm/logger/environment.js.map +1 -0
- package/dist/esm/logger/filtering.d.ts +36 -0
- package/dist/esm/logger/filtering.d.ts.map +1 -0
- package/dist/esm/logger/filtering.js +77 -0
- package/dist/esm/logger/filtering.js.map +1 -0
- package/dist/esm/logger/index.d.ts +10 -0
- package/dist/esm/logger/index.d.ts.map +1 -0
- package/dist/esm/logger/index.js +11 -0
- package/dist/esm/logger/index.js.map +1 -0
- package/dist/esm/redaction/config.d.ts +29 -0
- package/dist/esm/redaction/config.d.ts.map +1 -0
- package/dist/esm/redaction/config.js +92 -0
- package/dist/esm/redaction/config.js.map +1 -0
- package/dist/esm/redaction/index.d.ts +8 -0
- package/dist/esm/redaction/index.d.ts.map +1 -0
- package/dist/esm/redaction/index.js +7 -0
- package/dist/esm/redaction/index.js.map +1 -0
- package/dist/esm/redaction/redactor.d.ts +99 -0
- package/dist/esm/redaction/redactor.d.ts.map +1 -0
- package/dist/esm/redaction/redactor.js +259 -0
- package/dist/esm/redaction/redactor.js.map +1 -0
- package/dist/esm/types/index.d.ts +322 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +41 -0
- package/dist/esm/types/index.js.map +1 -0
- package/package.json +59 -10
- package/dist/formatter/colors.d.ts.map +0 -1
- package/dist/formatter/data-formatter.d.ts.map +0 -1
- package/dist/formatter/index.d.ts.map +0 -1
- package/dist/formatter/message-formatter.d.ts.map +0 -1
- package/dist/formatter/timestamp.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/logger/advanced-outputs.d.ts.map +0 -1
- package/dist/logger/config.d.ts.map +0 -1
- package/dist/logger/core.d.ts.map +0 -1
- package/dist/logger/environment.d.ts.map +0 -1
- package/dist/logger/filtering.d.ts.map +0 -1
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/redaction/config.d.ts.map +0 -1
- package/dist/redaction/index.d.ts.map +0 -1
- package/dist/redaction/redactor.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- /package/dist/{formatter → cjs/formatter}/colors.d.ts +0 -0
- /package/dist/{formatter → cjs/formatter}/data-formatter.d.ts +0 -0
- /package/dist/{formatter → cjs/formatter}/index.d.ts +0 -0
- /package/dist/{formatter → cjs/formatter}/timestamp.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/advanced-outputs.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/config.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/environment.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/filtering.d.ts +0 -0
- /package/dist/{logger → cjs/logger}/index.d.ts +0 -0
- /package/dist/{redaction → cjs/redaction}/config.d.ts +0 -0
- /package/dist/{redaction → cjs/redaction}/index.d.ts +0 -0
- /package/dist/{redaction → cjs/redaction}/redactor.d.ts +0 -0
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.CoreLogger = exports.EnvironmentDetector = exports.LogFilter = exports.LoggerConfigManager = exports.Logger = void 0;
|
|
8
|
-
var core_1 = require("./core");
|
|
8
|
+
var core_1 = require("./core.cjs");
|
|
9
9
|
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return core_1.Logger; } });
|
|
10
|
-
var config_1 = require("./config");
|
|
10
|
+
var config_1 = require("./config.cjs");
|
|
11
11
|
Object.defineProperty(exports, "LoggerConfigManager", { enumerable: true, get: function () { return config_1.LoggerConfigManager; } });
|
|
12
|
-
var filtering_1 = require("./filtering");
|
|
12
|
+
var filtering_1 = require("./filtering.cjs");
|
|
13
13
|
Object.defineProperty(exports, "LogFilter", { enumerable: true, get: function () { return filtering_1.LogFilter; } });
|
|
14
|
-
var environment_1 = require("./environment");
|
|
14
|
+
var environment_1 = require("./environment.cjs");
|
|
15
15
|
Object.defineProperty(exports, "EnvironmentDetector", { enumerable: true, get: function () { return environment_1.EnvironmentDetector; } });
|
|
16
16
|
// Backward compatibility - maintain the original Logger class interface
|
|
17
|
-
var core_2 = require("./core");
|
|
17
|
+
var core_2 = require("./core.cjs");
|
|
18
18
|
Object.defineProperty(exports, "CoreLogger", { enumerable: true, get: function () { return core_2.Logger; } });
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logger/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logger/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+BAAgC;AAAvB,8FAAA,MAAM,OAAA;AACf,mCAA+C;AAAtC,6GAAA,mBAAmB,OAAA;AAC5B,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAE5B,wEAAwE;AACxE,+BAA8C;AAArC,kGAAA,MAAM,OAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/redaction/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,eAyCpC,CAAC;AAEF;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;;;SAIK;IACL,MAAM,CAAC,mBAAmB,IAAI,OAAO;IAUrC;;;;SAIK;IACL,MAAM,CAAC,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC;CA4BxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/redaction/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.RedactionController = exports.defaultRedactionConfig = exports.DataRedactor = void 0;
|
|
8
|
-
var redactor_1 = require("./redactor");
|
|
8
|
+
var redactor_1 = require("./redactor.cjs");
|
|
9
9
|
Object.defineProperty(exports, "DataRedactor", { enumerable: true, get: function () { return redactor_1.DataRedactor; } });
|
|
10
|
-
var config_1 = require("./config");
|
|
10
|
+
var config_1 = require("./config.cjs");
|
|
11
11
|
Object.defineProperty(exports, "defaultRedactionConfig", { enumerable: true, get: function () { return config_1.defaultRedactionConfig; } });
|
|
12
12
|
Object.defineProperty(exports, "RedactionController", { enumerable: true, get: function () { return config_1.RedactionController; } });
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/redaction/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACvE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/redaction/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,mCAAuE;AAA9D,gHAAA,sBAAsB,OAAA;AAAE,6GAAA,mBAAmB,OAAA"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.DataRedactor = void 0;
|
|
8
|
-
const config_1 = require("./config");
|
|
8
|
+
const config_1 = require("./config.cjs");
|
|
9
9
|
/**
|
|
10
10
|
* DataRedactor class - Core redaction logic for processing log data
|
|
11
11
|
* Automatically detects and redacts sensitive information while preserving structure
|
|
@@ -260,3 +260,4 @@ DataRedactor.config = {
|
|
|
260
260
|
DataRedactor.MAX_RECURSION_DEPTH = 100;
|
|
261
261
|
// Slightly lower limit for redactObject to ensure it can be reached
|
|
262
262
|
DataRedactor.MAX_REDACT_OBJECT_DEPTH = 99;
|
|
263
|
+
//# sourceMappingURL=redactor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redactor.d.ts","sourceRoot":"","sources":["../../../src/redaction/redactor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGpD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,MAAM,CAGnB;IAGF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAElD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAM;IAErD;;;;SAIK;IACL,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAU9D;;;SAGK;IACL,MAAM,CAAC,SAAS,IAAI,eAAe;IASnC;;;SAGK;IACL,MAAM,CAAC,aAAa,IAAI,IAAI;IAQ5B;;;SAGK;IACL,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAQlD;;SAEK;IACL,MAAM,CAAC,mBAAmB,IAAI,IAAI;IAOlC;;;SAGK;IACL,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAOjD;;;;SAIK;IACL,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAWrD;;;;;SAKK;IACL,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IASzC;;;;;;;;SAQK;IACL,OAAO,CAAC,MAAM,CAAC,YAAY;IAyC3B;;;;;;;SAOK;IACL,OAAO,CAAC,MAAM,CAAC,YAAY;IA2B3B;;;;;;SAMK;IACL,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAgD/B;;;;;SAKK;IACL,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B;;;;;SAKK;IACL,OAAO,CAAC,MAAM,CAAC,eAAe;CAM/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redactor.js","sourceRoot":"","sources":["../../../src/redaction/redactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,6 +120,16 @@ export type EnhancedOutputTarget = BuiltInOutputHandler | LogOutputHandler | {
|
|
|
120
120
|
* Output target - can be a built-in handler string or custom function
|
|
121
121
|
*/
|
|
122
122
|
export type OutputTarget = BuiltInOutputHandler | LogOutputHandler;
|
|
123
|
+
/**
|
|
124
|
+
* Configuration for log message formatting
|
|
125
|
+
* Controls which elements are included in the log output
|
|
126
|
+
*/
|
|
127
|
+
export interface LogFormatConfig {
|
|
128
|
+
/** Whether to include ISO timestamp (e.g., [2025-05-29T16:57:45.678Z]) */
|
|
129
|
+
includeIsoTimestamp?: boolean;
|
|
130
|
+
/** Whether to include local time (e.g., [4:57PM]) */
|
|
131
|
+
includeLocalTime?: boolean;
|
|
132
|
+
}
|
|
123
133
|
/**
|
|
124
134
|
* Configuration options for the logger
|
|
125
135
|
* Supports both legacy level-based and new mode-based configuration
|
|
@@ -142,6 +152,8 @@ export interface LoggerConfig {
|
|
|
142
152
|
suppressConsoleOutput?: boolean;
|
|
143
153
|
/** Advanced configuration for built-in handlers */
|
|
144
154
|
advancedOutputConfig?: AdvancedOutputConfig;
|
|
155
|
+
/** Format configuration for customizing log element inclusion */
|
|
156
|
+
format?: LogFormatConfig;
|
|
145
157
|
}
|
|
146
158
|
/**
|
|
147
159
|
* Configuration options for automatic data redaction
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH;;;GAGG;AACH,IAAY,QAWX;AAXD,WAAY,QAAQ;IAChB,qFAAqF;IACrF,yCAAS,CAAA;IACT,2DAA2D;IAC3D,uCAAQ,CAAA;IACR,kEAAkE;IAClE,uCAAQ,CAAA;IACR,sEAAsE;IACtE,yCAAS,CAAA;IACT,kGAAkG;IAClG,sCAAQ,CAAA;AACZ,CAAC,EAXW,QAAQ,wBAAR,QAAQ,QAWnB;AAED;;;GAGG;AACH,IAAY,OAaX;AAbD,WAAY,OAAO;IACf,kEAAkE;IAClE,uCAAS,CAAA;IACT,uDAAuD;IACvD,qCAAQ,CAAA;IACR,gDAAgD;IAChD,qCAAQ,CAAA;IACR,0CAA0C;IAC1C,uCAAS,CAAA;IACT,8CAA8C;IAC9C,yCAAU,CAAA;IACV,kDAAkD;IAClD,mCAAO,CAAA;AACX,CAAC,EAbW,OAAO,uBAAP,OAAO,QAalB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wait for a file to exist with optimized polling
|
|
3
|
+
*/
|
|
4
|
+
export declare function waitForFile(filePath: string, timeoutMs?: number): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* Wait for multiple files to exist with parallel checking
|
|
7
|
+
*/
|
|
8
|
+
export declare function waitForFiles(filePaths: string[], timeoutMs?: number): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Wait for a file to have specific content with optimized polling
|
|
11
|
+
*/
|
|
12
|
+
export declare function waitForFileContent(filePath: string, expectedContent: string | RegExp, timeoutMs?: number): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Wait for a directory to be empty with faster polling
|
|
15
|
+
*/
|
|
16
|
+
export declare function waitForDirectoryEmpty(dirPath: string, timeoutMs?: number): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Safely remove a file with optimized retry logic
|
|
19
|
+
*/
|
|
20
|
+
export declare function safeRemoveFile(filePath: string, maxRetries?: number): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Safely clean up a directory with retry logic
|
|
23
|
+
*/
|
|
24
|
+
export declare function safeCleanupDirectory(dirPath: string): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Enhanced mock HTTP handler with faster timeouts and better error handling
|
|
27
|
+
*/
|
|
28
|
+
export declare class MockHttpHandler {
|
|
29
|
+
private requests;
|
|
30
|
+
private pendingPromises;
|
|
31
|
+
private timeoutIds;
|
|
32
|
+
addRequest(url: string, options: any): void;
|
|
33
|
+
getRequests(): {
|
|
34
|
+
url: string;
|
|
35
|
+
options: any;
|
|
36
|
+
}[];
|
|
37
|
+
waitForRequests(count?: number, timeoutMs?: number): Promise<void>;
|
|
38
|
+
clear(): void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a test timeout that fails fast instead of hanging
|
|
42
|
+
*/
|
|
43
|
+
export declare function createTestTimeout(timeoutMs?: number): {
|
|
44
|
+
promise: Promise<never>;
|
|
45
|
+
cancel: () => void;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Race a promise against a timeout for fail-fast behavior
|
|
49
|
+
*/
|
|
50
|
+
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs?: number): Promise<T>;
|
|
51
|
+
//# sourceMappingURL=async-test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-test-utils.d.ts","sourceRoot":"","sources":["../../../src/__tests__/async-test-utils.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CActG;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1G;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB/I;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/G;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5F;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBzE;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAIN;IAEV,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,UAAU,CAAkC;IAEpD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;IAe3C,WAAW;;;;IAIL,eAAe,CAAC,KAAK,GAAE,MAAU,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC5F,KAAK,IAAI,IAAI;CAUd;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,MAAwB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,CAetH;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,CAAC,CAAC,CAiBzG"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test utilities for handling async file operations properly
|
|
3
|
+
* Replaces arbitrary timeouts with proper Promise-based waiting
|
|
4
|
+
* Optimized for CI environments with faster polling and shorter timeouts
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
// Optimized defaults for CI environments
|
|
9
|
+
const DEFAULT_TIMEOUT = 3000; // Reduced from 5000ms
|
|
10
|
+
const POLL_INTERVAL = 5; // Reduced from 10ms for faster detection
|
|
11
|
+
/**
|
|
12
|
+
* Wait for a file to exist with optimized polling
|
|
13
|
+
*/
|
|
14
|
+
export async function waitForFile(filePath, timeoutMs = DEFAULT_TIMEOUT) {
|
|
15
|
+
const startTime = Date.now();
|
|
16
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
17
|
+
try {
|
|
18
|
+
await fs.promises.access(filePath, fs.constants.F_OK);
|
|
19
|
+
return; // File exists
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
// File doesn't exist yet, wait a bit
|
|
23
|
+
await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
throw new Error(`File ${filePath} did not appear within ${timeoutMs}ms`);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Wait for multiple files to exist with parallel checking
|
|
30
|
+
*/
|
|
31
|
+
export async function waitForFiles(filePaths, timeoutMs = DEFAULT_TIMEOUT) {
|
|
32
|
+
await Promise.all(filePaths.map(filePath => waitForFile(filePath, timeoutMs)));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Wait for a file to have specific content with optimized polling
|
|
36
|
+
*/
|
|
37
|
+
export async function waitForFileContent(filePath, expectedContent, timeoutMs = DEFAULT_TIMEOUT) {
|
|
38
|
+
const startTime = Date.now();
|
|
39
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
40
|
+
try {
|
|
41
|
+
const content = await fs.promises.readFile(filePath, 'utf8');
|
|
42
|
+
if (typeof expectedContent === 'string') {
|
|
43
|
+
if (content.includes(expectedContent)) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
if (expectedContent.test(content)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
// File might not exist yet or be readable
|
|
55
|
+
}
|
|
56
|
+
await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
|
|
57
|
+
}
|
|
58
|
+
throw new Error(`File ${filePath} did not contain expected content within ${timeoutMs}ms`);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Wait for a directory to be empty with faster polling
|
|
62
|
+
*/
|
|
63
|
+
export async function waitForDirectoryEmpty(dirPath, timeoutMs = DEFAULT_TIMEOUT) {
|
|
64
|
+
const startTime = Date.now();
|
|
65
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
66
|
+
try {
|
|
67
|
+
const files = await fs.promises.readdir(dirPath);
|
|
68
|
+
if (files.length === 0) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
// Directory might not exist, which is also "empty"
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
await new Promise(resolve => setTimeout(resolve, POLL_INTERVAL));
|
|
77
|
+
}
|
|
78
|
+
throw new Error(`Directory ${dirPath} was not empty within ${timeoutMs}ms`);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Safely remove a file with optimized retry logic
|
|
82
|
+
*/
|
|
83
|
+
export async function safeRemoveFile(filePath, maxRetries = 3) {
|
|
84
|
+
for (let i = 0; i < maxRetries; i++) {
|
|
85
|
+
try {
|
|
86
|
+
await fs.promises.unlink(filePath);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
if (i === maxRetries - 1) {
|
|
91
|
+
// Only throw on last retry if it's not a "file not found" error
|
|
92
|
+
if (error.code !== 'ENOENT') {
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
// Wait a bit before retrying (reduced wait time)
|
|
98
|
+
await new Promise(resolve => setTimeout(resolve, 10));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Safely clean up a directory with retry logic
|
|
105
|
+
*/
|
|
106
|
+
export async function safeCleanupDirectory(dirPath) {
|
|
107
|
+
try {
|
|
108
|
+
const files = await fs.promises.readdir(dirPath);
|
|
109
|
+
// Remove all files with retry logic
|
|
110
|
+
await Promise.all(files.map(file => safeRemoveFile(path.join(dirPath, file))));
|
|
111
|
+
// Remove the directory itself
|
|
112
|
+
await fs.promises.rmdir(dirPath);
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
// Directory might not exist, which is fine
|
|
116
|
+
if (error.code !== 'ENOENT') {
|
|
117
|
+
// Try force removal as fallback
|
|
118
|
+
try {
|
|
119
|
+
await fs.promises.rm(dirPath, { recursive: true, force: true });
|
|
120
|
+
}
|
|
121
|
+
catch (fallbackError) {
|
|
122
|
+
// Ignore cleanup errors in tests
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Enhanced mock HTTP handler with faster timeouts and better error handling
|
|
129
|
+
*/
|
|
130
|
+
export class MockHttpHandler {
|
|
131
|
+
constructor() {
|
|
132
|
+
this.requests = [];
|
|
133
|
+
this.pendingPromises = [];
|
|
134
|
+
this.timeoutIds = new Set();
|
|
135
|
+
}
|
|
136
|
+
addRequest(url, options) {
|
|
137
|
+
let resolveRequest;
|
|
138
|
+
const promise = new Promise(resolve => {
|
|
139
|
+
resolveRequest = resolve;
|
|
140
|
+
});
|
|
141
|
+
this.requests.push({
|
|
142
|
+
url,
|
|
143
|
+
options,
|
|
144
|
+
resolve: resolveRequest
|
|
145
|
+
});
|
|
146
|
+
this.pendingPromises.push(promise);
|
|
147
|
+
}
|
|
148
|
+
getRequests() {
|
|
149
|
+
return this.requests.map(({ url, options }) => ({ url, options }));
|
|
150
|
+
}
|
|
151
|
+
async waitForRequests(count = 1, timeoutMs = DEFAULT_TIMEOUT) {
|
|
152
|
+
const startTime = Date.now();
|
|
153
|
+
// Set up a timeout that will be cleaned up
|
|
154
|
+
let timeoutId;
|
|
155
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
156
|
+
timeoutId = setTimeout(() => {
|
|
157
|
+
reject(new Error(`Expected ${count} requests but got ${this.requests.length} within ${timeoutMs}ms`));
|
|
158
|
+
}, timeoutMs);
|
|
159
|
+
this.timeoutIds.add(timeoutId);
|
|
160
|
+
});
|
|
161
|
+
try {
|
|
162
|
+
while (this.requests.length < count && Date.now() - startTime < timeoutMs) {
|
|
163
|
+
await new Promise(resolve => {
|
|
164
|
+
const id = setTimeout(resolve, POLL_INTERVAL);
|
|
165
|
+
this.timeoutIds.add(id);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
if (this.requests.length < count) {
|
|
169
|
+
throw new Error(`Expected ${count} requests but got ${this.requests.length} within ${timeoutMs}ms`);
|
|
170
|
+
}
|
|
171
|
+
// Mark all requests as processed
|
|
172
|
+
this.requests.forEach(req => req.resolve());
|
|
173
|
+
// Wait for all pending promises to resolve
|
|
174
|
+
await Promise.all(this.pendingPromises);
|
|
175
|
+
}
|
|
176
|
+
finally {
|
|
177
|
+
// Clean up the timeout
|
|
178
|
+
if (timeoutId) {
|
|
179
|
+
clearTimeout(timeoutId);
|
|
180
|
+
this.timeoutIds.delete(timeoutId);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
clear() {
|
|
185
|
+
// Clean up any remaining timeouts
|
|
186
|
+
for (const timeoutId of this.timeoutIds) {
|
|
187
|
+
clearTimeout(timeoutId);
|
|
188
|
+
}
|
|
189
|
+
this.timeoutIds.clear();
|
|
190
|
+
this.requests = [];
|
|
191
|
+
this.pendingPromises = [];
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Create a test timeout that fails fast instead of hanging
|
|
196
|
+
*/
|
|
197
|
+
export function createTestTimeout(timeoutMs = DEFAULT_TIMEOUT) {
|
|
198
|
+
let timeoutId;
|
|
199
|
+
const promise = new Promise((_, reject) => {
|
|
200
|
+
timeoutId = setTimeout(() => {
|
|
201
|
+
reject(new Error(`Test timed out after ${timeoutMs}ms`));
|
|
202
|
+
}, timeoutMs);
|
|
203
|
+
});
|
|
204
|
+
const cancel = () => {
|
|
205
|
+
if (timeoutId) {
|
|
206
|
+
clearTimeout(timeoutId);
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
return { promise, cancel };
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Race a promise against a timeout for fail-fast behavior
|
|
213
|
+
*/
|
|
214
|
+
export async function withTimeout(promise, timeoutMs = DEFAULT_TIMEOUT) {
|
|
215
|
+
const timeout = createTestTimeout(timeoutMs);
|
|
216
|
+
try {
|
|
217
|
+
const result = await Promise.race([
|
|
218
|
+
promise,
|
|
219
|
+
timeout.promise
|
|
220
|
+
]);
|
|
221
|
+
// Cancel the timeout since we got a result
|
|
222
|
+
timeout.cancel();
|
|
223
|
+
return result;
|
|
224
|
+
}
|
|
225
|
+
catch (error) {
|
|
226
|
+
// Cancel the timeout in case of error
|
|
227
|
+
timeout.cancel();
|
|
228
|
+
throw error;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=async-test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-test-utils.js","sourceRoot":"","sources":["../../../src/__tests__/async-test-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test utilities for redaction tests
|
|
3
|
+
* Common setup, mocks, and helper functions
|
|
4
|
+
*/
|
|
5
|
+
export declare const mockConsole: {
|
|
6
|
+
log: jest.Mock<any, any, any>;
|
|
7
|
+
warn: jest.Mock<any, any, any>;
|
|
8
|
+
error: jest.Mock<any, any, any>;
|
|
9
|
+
};
|
|
10
|
+
export declare const originalConsole: {
|
|
11
|
+
log: (message?: any, ...optionalParams: any[]) => void;
|
|
12
|
+
warn: (message?: any, ...optionalParams: any[]) => void;
|
|
13
|
+
error: (message?: any, ...optionalParams: any[]) => void;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Setup console mocks for testing
|
|
17
|
+
*/
|
|
18
|
+
export declare function setupConsoleMocks(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Restore original console methods
|
|
21
|
+
*/
|
|
22
|
+
export declare function restoreConsole(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Setup environment for testing
|
|
25
|
+
*/
|
|
26
|
+
export declare function setupTestEnvironment(): {
|
|
27
|
+
originalEnv: NodeJS.ProcessEnv;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Restore environment after testing
|
|
31
|
+
*/
|
|
32
|
+
export declare function restoreEnvironment(originalEnv: NodeJS.ProcessEnv): void;
|
|
33
|
+
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/redaction/test-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,WAAW;;;;CAIvB,CAAC;AAGF,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IAAE,WAAW,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,CAGzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAqBvE"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test utilities for redaction tests
|
|
3
|
+
* Common setup, mocks, and helper functions
|
|
4
|
+
*/
|
|
5
|
+
// Mock console methods to capture output for integration tests
|
|
6
|
+
export const mockConsole = {
|
|
7
|
+
log: jest.fn(),
|
|
8
|
+
warn: jest.fn(),
|
|
9
|
+
error: jest.fn()
|
|
10
|
+
};
|
|
11
|
+
// Store original console methods
|
|
12
|
+
export const originalConsole = {
|
|
13
|
+
log: console.log,
|
|
14
|
+
warn: console.warn,
|
|
15
|
+
error: console.error
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Setup console mocks for testing
|
|
19
|
+
*/
|
|
20
|
+
export function setupConsoleMocks() {
|
|
21
|
+
jest.clearAllMocks();
|
|
22
|
+
console.log = mockConsole.log;
|
|
23
|
+
console.warn = mockConsole.warn;
|
|
24
|
+
console.error = mockConsole.error;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Restore original console methods
|
|
28
|
+
*/
|
|
29
|
+
export function restoreConsole() {
|
|
30
|
+
console.log = originalConsole.log;
|
|
31
|
+
console.warn = originalConsole.warn;
|
|
32
|
+
console.error = originalConsole.error;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Setup environment for testing
|
|
36
|
+
*/
|
|
37
|
+
export function setupTestEnvironment() {
|
|
38
|
+
const originalEnv = { ...process.env };
|
|
39
|
+
return { originalEnv };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Restore environment after testing
|
|
43
|
+
*/
|
|
44
|
+
export function restoreEnvironment(originalEnv) {
|
|
45
|
+
// Only remove environment variables that were added during the test
|
|
46
|
+
// (i.e., those not present in the originalEnv)
|
|
47
|
+
// Create a copy of the keys to avoid mutation during iteration
|
|
48
|
+
const currentEnvKeys = Object.keys(process.env);
|
|
49
|
+
for (const key of currentEnvKeys) {
|
|
50
|
+
if (!Object.prototype.hasOwnProperty.call(originalEnv, key)) {
|
|
51
|
+
// Safe deletion using explicit type assertion
|
|
52
|
+
delete process.env[key];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Restore or update variables that existed originally
|
|
56
|
+
// Iterate over originalEnv keys safely
|
|
57
|
+
const originalEnvKeys = Object.keys(originalEnv);
|
|
58
|
+
for (const key of originalEnvKeys) {
|
|
59
|
+
if (Object.prototype.hasOwnProperty.call(originalEnv, key)) {
|
|
60
|
+
// Safe assignment using explicit access
|
|
61
|
+
process.env[key] = originalEnv[key];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../../../src/__tests__/redaction/test-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IACd,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;IACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;CACjB,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,KAAK,EAAE,OAAO,CAAC,KAAK;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;IAC9B,OAAO,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAChC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC;IAClC,OAAO,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC;IACpC,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,OAAO,EAAE,WAAW,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAA8B;IAC/D,oEAAoE;IACpE,+CAA+C;IAC/C,+DAA+D;IAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5D,8CAA8C;YAC9C,OAAQ,OAAO,CAAC,GAA0C,CAAC,GAAG,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,uCAAuC;IACvC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3D,wCAAwC;YACvC,OAAO,CAAC,GAA0C,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared test utilities for log-engine tests
|
|
3
|
+
* Provides consistent console mocking and cleanup functionality across all test suites
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Interface for managing console method mocks during testing
|
|
7
|
+
* Groups all console spy instances for easy setup and cleanup
|
|
8
|
+
*/
|
|
9
|
+
export interface ConsoleMocks {
|
|
10
|
+
/** Mock for console.log (used by debug and info methods) */
|
|
11
|
+
mockConsoleLog: jest.SpyInstance;
|
|
12
|
+
/** Mock for console.warn (used by warn method) */
|
|
13
|
+
mockConsoleWarn: jest.SpyInstance;
|
|
14
|
+
/** Mock for console.error (used by error method) */
|
|
15
|
+
mockConsoleError: jest.SpyInstance;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Sets up console mocks for testing log output
|
|
19
|
+
* Replaces console methods with Jest spies to capture and verify log calls
|
|
20
|
+
* @returns ConsoleMocks object containing all spy instances
|
|
21
|
+
*/
|
|
22
|
+
export declare const setupConsoleMocks: () => ConsoleMocks;
|
|
23
|
+
/**
|
|
24
|
+
* Restores console mocks after testing
|
|
25
|
+
* Cleans up Jest spies and restores original console functionality
|
|
26
|
+
* @param mocks - The ConsoleMocks object from setupConsoleMocks
|
|
27
|
+
*/
|
|
28
|
+
export declare const restoreConsoleMocks: (mocks: ConsoleMocks) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Convenience function for setting up console mocks in beforeEach hooks
|
|
31
|
+
* Identical to setupConsoleMocks but with a more descriptive name for test setup
|
|
32
|
+
* @returns ConsoleMocks object containing all spy instances
|
|
33
|
+
*/
|
|
34
|
+
export declare const setupConsoleBeforeEach: () => ConsoleMocks;
|
|
35
|
+
/**
|
|
36
|
+
* Convenience function for restoring console mocks in afterEach hooks
|
|
37
|
+
* Identical to restoreConsoleMocks but with a more descriptive name for test cleanup
|
|
38
|
+
* @param mocks - The ConsoleMocks object to restore
|
|
39
|
+
*/
|
|
40
|
+
export declare const restoreConsoleAfterEach: (mocks: ConsoleMocks) => void;
|
|
41
|
+
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../src/__tests__/test-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC;IACjC,kDAAkD;IAClD,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC;IAClC,oDAAoD;IACpD,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC;CACpC;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAO,YAMpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,YAAY,KAAG,IAIzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAO,YAEzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,OAAO,YAAY,KAAG,IAE7D,CAAC"}
|