@elisra-devops/docgen-data-provider 1.139.0 → 1.141.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.
Files changed (48) hide show
  1. package/.github/workflows/ci.yml +2 -0
  2. package/bin/helpers/tfs.js +21 -14
  3. package/bin/helpers/tfs.js.map +1 -1
  4. package/bin/modules/JfrogDataProvider.js +1 -1
  5. package/bin/modules/JfrogDataProvider.js.map +1 -1
  6. package/bin/modules/PipelinesDataProvider.js +1 -1
  7. package/bin/modules/PipelinesDataProvider.js.map +1 -1
  8. package/bin/modules/ResultDataProvider.js +21 -15
  9. package/bin/modules/ResultDataProvider.js.map +1 -1
  10. package/bin/modules/TicketsDataProvider.d.ts +3 -3
  11. package/bin/modules/TicketsDataProvider.js +80 -54
  12. package/bin/modules/TicketsDataProvider.js.map +1 -1
  13. package/bin/tests/modules/JfrogDataProvider.test.js +3 -1
  14. package/bin/tests/modules/JfrogDataProvider.test.js.map +1 -1
  15. package/bin/tests/modules/ResultDataProvider.test.js +6 -2
  16. package/bin/tests/modules/ResultDataProvider.test.js.map +1 -1
  17. package/bin/tests/modules/ticketsDataProvider.historical.test.js +111 -42
  18. package/bin/tests/modules/ticketsDataProvider.historical.test.js.map +1 -1
  19. package/bin/tests/utils/logger.test.d.ts +1 -0
  20. package/bin/tests/utils/logger.test.js +238 -0
  21. package/bin/tests/utils/logger.test.js.map +1 -0
  22. package/bin/tests/utils/runContext.test.d.ts +1 -0
  23. package/bin/tests/utils/runContext.test.js +51 -0
  24. package/bin/tests/utils/runContext.test.js.map +1 -0
  25. package/bin/utils/logSink.d.ts +25 -0
  26. package/bin/utils/logSink.js +16 -0
  27. package/bin/utils/logSink.js.map +1 -0
  28. package/bin/utils/logger.d.ts +6 -0
  29. package/bin/utils/logger.js +219 -27
  30. package/bin/utils/logger.js.map +1 -1
  31. package/bin/utils/runContext.d.ts +8 -0
  32. package/bin/utils/runContext.js +12 -0
  33. package/bin/utils/runContext.js.map +1 -0
  34. package/eslint.config.mjs +40 -0
  35. package/package.json +8 -3
  36. package/src/helpers/tfs.ts +19 -15
  37. package/src/modules/JfrogDataProvider.ts +1 -1
  38. package/src/modules/PipelinesDataProvider.ts +1 -1
  39. package/src/modules/ResultDataProvider.ts +20 -15
  40. package/src/modules/TicketsDataProvider.ts +93 -74
  41. package/src/tests/modules/JfrogDataProvider.test.ts +3 -1
  42. package/src/tests/modules/ResultDataProvider.test.ts +6 -2
  43. package/src/tests/modules/ticketsDataProvider.historical.test.ts +128 -43
  44. package/src/tests/utils/logger.test.ts +270 -0
  45. package/src/tests/utils/runContext.test.ts +48 -0
  46. package/src/utils/logSink.ts +44 -0
  47. package/src/utils/logger.ts +229 -29
  48. package/src/utils/runContext.ts +25 -0
@@ -984,64 +984,133 @@ describe('TicketsDataProvider historical queries', () => {
984
984
  expect(result.rows.map((row) => row.id)).toEqual([601]);
985
985
  expect(logger_1.default.warn.mock.calls.some((call) => String(call[0]).includes('omitted 1'))).toBe(true);
986
986
  });
987
- it('GetHistoricalQueryResults drops only the specific field ADO names in TF51535, keeping Custom.TestPhase when only Elisra.TestPhase is undefined for this project', async () => {
987
+ it('GetHistoricalQueryResults resolves the real Test Phase reference name from the project\'s own field list instead of guessing', async () => {
988
988
  const asOfIso = '2026-02-01T00:00:00.000Z';
989
- // 205 ids -> 2 chunks (200 + 5), both dispatched with the full field list
990
- // near-simultaneously — this proves the retry is decided per-call, not
991
- // from the shared override flag, since both chunks fail before either
992
- // one sets it.
993
- const allIds = Array.from({ length: 205 }, (_, idx) => idx + 1);
994
989
  tfs_1.TFSServices.getItemContent.mockImplementation(async (url, _pat, method, data) => {
995
- if (url.includes('/_apis/wit/queries/q-unknown-field') && url.includes('api-version=7.1')) {
996
- return { name: 'Unknown Field Q', wiql: 'SELECT [System.Id] FROM WorkItems' };
990
+ if (url.includes('/_apis/wit/queries/q-resolve-field') && url.includes('api-version=7.1')) {
991
+ return { name: 'Resolve Field Q', wiql: 'SELECT [System.Id] FROM WorkItems' };
997
992
  }
998
993
  if (url.includes('/_apis/wit/wiql?') && method === 'post') {
999
- return { workItems: allIds.map((id) => ({ id })) };
994
+ return { workItems: [{ id: 501 }] };
995
+ }
996
+ if (url.endsWith('/_apis/wit/fields?api-version=7.1')) {
997
+ // Neither Elisra.TestPhase nor Custom.TestPhase — a third,
998
+ // project-specific reference name, discovered only by friendly
999
+ // name ("Test Phase").
1000
+ return {
1001
+ value: [
1002
+ { name: 'Title', referenceName: 'System.Title' },
1003
+ { name: 'Test Phase', referenceName: 'MyCompany.QaPhase' },
1004
+ ],
1005
+ };
1000
1006
  }
1001
1007
  if (url.includes('/_apis/wit/workitemsbatch') && method === 'post') {
1002
1008
  if ((data === null || data === void 0 ? void 0 : data.$expand) === 'Relations') {
1003
- return {
1004
- value: (Array.isArray(data === null || data === void 0 ? void 0 : data.ids) ? data.ids : []).map((id) => ({ id, relations: [] })),
1005
- };
1009
+ return { value: [{ id: 501, relations: [] }] };
1006
1010
  }
1007
- if (Array.isArray(data === null || data === void 0 ? void 0 : data.fields) && data.fields.includes('Elisra.TestPhase')) {
1008
- throw {
1009
- response: {
1010
- status: 400,
1011
- data: { message: "TF51535: Cannot find field 'Elisra.TestPhase'." },
1011
+ expect(data.fields).toEqual(expect.arrayContaining(['MyCompany.QaPhase']));
1012
+ expect(data.fields).not.toEqual(expect.arrayContaining(['Elisra.TestPhase', 'Custom.TestPhase']));
1013
+ return {
1014
+ value: [
1015
+ {
1016
+ id: 501,
1017
+ rev: 1,
1018
+ fields: {
1019
+ 'System.WorkItemType': 'Test Case',
1020
+ 'System.Title': 'Resolved',
1021
+ 'System.State': 'Active',
1022
+ 'System.ChangedDate': asOfIso,
1023
+ 'MyCompany.QaPhase': 'FAT',
1024
+ },
1012
1025
  },
1013
- };
1026
+ ],
1027
+ };
1028
+ }
1029
+ throw new Error(`unexpected URL: ${url}`);
1030
+ });
1031
+ const result = await provider.GetHistoricalQueryResults('q-resolve-field', project, asOfIso);
1032
+ expect(result.total).toBe(1);
1033
+ const fieldsListCalls = tfs_1.TFSServices.getItemContent.mock.calls.filter((call) => String(call[0]).endsWith('/_apis/wit/fields?api-version=7.1'));
1034
+ expect(fieldsListCalls).toHaveLength(1);
1035
+ });
1036
+ it('GetHistoricalQueryResults reuses the resolved field across baseline and compareTo without re-querying fields', async () => {
1037
+ const baselineIso = '2026-02-20T00:00:00.000Z';
1038
+ const compareIso = '2026-02-25T00:00:00.000Z';
1039
+ let fieldsListCallCount = 0;
1040
+ tfs_1.TFSServices.getItemContent.mockImplementation(async (url, _pat, method, data) => {
1041
+ if (url.includes('/_apis/wit/queries/q-cache-field') && url.includes('api-version=7.1')) {
1042
+ return { name: 'Cache Field Q', wiql: 'SELECT [System.Id] FROM WorkItems' };
1043
+ }
1044
+ if (url.includes('/_apis/wit/wiql?') && method === 'post') {
1045
+ return { workItems: [{ id: 601 }] };
1046
+ }
1047
+ if (url.endsWith('/_apis/wit/fields?api-version=7.1')) {
1048
+ fieldsListCallCount += 1;
1049
+ return { value: [{ name: 'Test Phase', referenceName: 'Custom.TestPhase' }] };
1050
+ }
1051
+ if (url.includes('/_apis/wit/workitemsbatch') && method === 'post') {
1052
+ if ((data === null || data === void 0 ? void 0 : data.$expand) === 'Relations') {
1053
+ return { value: [{ id: 601, relations: [] }] };
1014
1054
  }
1015
- // Custom.TestPhase is the real field on this project and must
1016
- // still be requested — only the unrecognized alias should be
1017
- // dropped, not every optional field.
1018
- expect(data.fields).toEqual(expect.arrayContaining(['Custom.TestPhase']));
1019
- expect(data.fields).not.toEqual(expect.arrayContaining(['Elisra.TestPhase']));
1020
1055
  return {
1021
- value: (Array.isArray(data === null || data === void 0 ? void 0 : data.ids) ? data.ids : []).map((id) => ({
1022
- id,
1023
- rev: 1,
1024
- fields: {
1025
- 'System.WorkItemType': 'Test Case',
1026
- 'System.Title': `Test ${id}`,
1027
- 'System.State': 'Active',
1028
- 'System.ChangedDate': asOfIso,
1029
- 'Custom.TestPhase': 'FAT',
1056
+ value: [
1057
+ {
1058
+ id: 601,
1059
+ rev: 1,
1060
+ fields: {
1061
+ 'System.WorkItemType': 'Test Case',
1062
+ 'System.Title': 'Cached',
1063
+ 'System.State': 'Active',
1064
+ 'System.ChangedDate': data.asOf,
1065
+ },
1030
1066
  },
1031
- })),
1067
+ ],
1032
1068
  };
1033
1069
  }
1034
1070
  throw new Error(`unexpected URL: ${url}`);
1035
1071
  });
1036
- const result = await provider.GetHistoricalQueryResults('q-unknown-field', project, asOfIso);
1037
- // Every id came back — nothing fell to the 2xN per-item fallback, which
1038
- // would have thrown on any call not covered by the handler above.
1039
- expect(result.total).toBe(205);
1040
- const fieldsCallsWithElisraAlias = tfs_1.TFSServices.getItemContent.mock.calls.filter((call) => { var _a; return Array.isArray((_a = call[3]) === null || _a === void 0 ? void 0 : _a.fields) && call[3].fields.includes('Elisra.TestPhase'); });
1041
- // Both chunks start with the full field list before the override is set,
1042
- // so both legitimately fail once and both must retry — not just one.
1043
- expect(fieldsCallsWithElisraAlias).toHaveLength(2);
1044
- expect(logger_1.default.warn.mock.calls.some((call) => String(call[0]).includes("field 'Elisra.TestPhase' not defined for this project"))).toBe(true);
1072
+ await provider.CompareHistoricalQueryResults('q-cache-field', project, baselineIso, compareIso);
1073
+ // Baseline and compareTo run concurrently against the same provider
1074
+ // instance — the field list is fetched once, not once per snapshot.
1075
+ expect(fieldsListCallCount).toBe(1);
1076
+ });
1077
+ it('GetHistoricalQueryResults omits Test Phase entirely when the project defines neither known name, without failing the batch', async () => {
1078
+ const asOfIso = '2026-03-01T00:00:00.000Z';
1079
+ tfs_1.TFSServices.getItemContent.mockImplementation(async (url, _pat, method, data) => {
1080
+ if (url.includes('/_apis/wit/queries/q-no-field') && url.includes('api-version=7.1')) {
1081
+ return { name: 'No Field Q', wiql: 'SELECT [System.Id] FROM WorkItems' };
1082
+ }
1083
+ if (url.includes('/_apis/wit/wiql?') && method === 'post') {
1084
+ return { workItems: [{ id: 701 }] };
1085
+ }
1086
+ if (url.endsWith('/_apis/wit/fields?api-version=7.1')) {
1087
+ return { value: [{ name: 'Title', referenceName: 'System.Title' }] };
1088
+ }
1089
+ if (url.includes('/_apis/wit/workitemsbatch') && method === 'post') {
1090
+ if ((data === null || data === void 0 ? void 0 : data.$expand) === 'Relations') {
1091
+ return { value: [{ id: 701, relations: [] }] };
1092
+ }
1093
+ expect(data.fields).not.toEqual(expect.arrayContaining(['Elisra.TestPhase', 'Custom.TestPhase']));
1094
+ return {
1095
+ value: [
1096
+ {
1097
+ id: 701,
1098
+ rev: 1,
1099
+ fields: {
1100
+ 'System.WorkItemType': 'Bug',
1101
+ 'System.Title': 'No test phase field',
1102
+ 'System.State': 'Active',
1103
+ 'System.ChangedDate': asOfIso,
1104
+ },
1105
+ },
1106
+ ],
1107
+ };
1108
+ }
1109
+ throw new Error(`unexpected URL: ${url}`);
1110
+ });
1111
+ const result = await provider.GetHistoricalQueryResults('q-no-field', project, asOfIso);
1112
+ expect(result.total).toBe(1);
1113
+ expect(logger_1.default.warn.mock.calls.some((call) => String(call[0]).includes("no Test Phase field defined for project"))).toBe(true);
1045
1114
  });
1046
1115
  });
1047
1116
  //# sourceMappingURL=ticketsDataProvider.historical.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ticketsDataProvider.historical.test.js","sourceRoot":"","sources":["../../../src/tests/modules/ticketsDataProvider.historical.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ticketsDataProvider.historical.test.js","sourceRoot":"","sources":["../../../src/tests/modules/ticketsDataProvider.historical.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const winston = require("winston");
4
+ const Transport = require("winston-transport");
5
+ const logger_1 = require("../../utils/logger");
6
+ const logSink_1 = require("../../utils/logSink");
7
+ const runContext_1 = require("../../utils/runContext");
8
+ const applyRedact = (info) => (0, logger_1.redact)().transform(Object.assign({}, info));
9
+ describe('logger redact format', () => {
10
+ test('scrubs a top-level token/password/secret regardless of key casing', () => {
11
+ const out = applyRedact({ level: 'info', message: 'x', token: 'abc', Password: 'p', SECRET: 's' });
12
+ expect(out.token).toBe('[REDACTED]');
13
+ expect(out.Password).toBe('[REDACTED]');
14
+ expect(out.SECRET).toBe('[REDACTED]');
15
+ });
16
+ test('scrubs nested config.auth.password and config.headers.Authorization — the AxiosError.toJSON() leak', () => {
17
+ // This is the exact shape that was leaking via logger.error(JSON.stringify(error))
18
+ // in TicketsDataProvider.ts on ADO batch work-item failures.
19
+ const axiosLikeError = {
20
+ message: 'Request failed',
21
+ config: {
22
+ auth: { username: '', password: 'super-secret-pat' },
23
+ headers: { Authorization: 'Bearer abc.def.ghi' },
24
+ },
25
+ };
26
+ const out = applyRedact({ level: 'error', message: 'error populating workitems array', err: axiosLikeError });
27
+ expect(out.err.config.auth.password).toBe('[REDACTED]');
28
+ expect(out.err.config.headers.Authorization).toBe('[REDACTED]');
29
+ expect(out.err.message).toBe('Request failed');
30
+ });
31
+ test('leaves non-sensitive fields untouched', () => {
32
+ const out = applyRedact({ level: 'info', message: 'ok', project: 'Cube-ADCS', docType: 'SVD' });
33
+ expect(out.project).toBe('Cube-ADCS');
34
+ expect(out.docType).toBe('SVD');
35
+ });
36
+ test('never throws on a circular object', () => {
37
+ const circular = { name: 'x' };
38
+ circular.self = circular;
39
+ expect(() => applyRedact({ level: 'info', message: 'x', circular })).not.toThrow();
40
+ });
41
+ test('never throws and passes info through on null/undefined meta', () => {
42
+ expect(() => applyRedact({ level: 'info', message: 'x', meta: null })).not.toThrow();
43
+ expect(() => applyRedact({ level: 'info', message: 'x', meta: undefined })).not.toThrow();
44
+ });
45
+ });
46
+ // A capturing transport + the exact JSON format chain logger.ts uses (errors -> timestamp ->
47
+ // redact -> splat -> json), so these tests exercise the real pipeline, not just redact() alone.
48
+ class CaptureTransport extends Transport {
49
+ constructor() {
50
+ super(...arguments);
51
+ this.lines = [];
52
+ }
53
+ log(info, callback) {
54
+ var _a;
55
+ this.lines.push(JSON.parse((_a = info[Symbol.for('message')]) !== null && _a !== void 0 ? _a : JSON.stringify(info)));
56
+ callback();
57
+ }
58
+ }
59
+ function makeTestLogger() {
60
+ const capture = new CaptureTransport();
61
+ const logger = winston.createLogger({
62
+ level: 'silly',
63
+ format: winston.format.combine(winston.format.errors({ stack: true }), winston.format.timestamp(), (0, logger_1.redact)(), winston.format.splat(), winston.format.json()),
64
+ transports: [capture],
65
+ });
66
+ return { logger, capture };
67
+ }
68
+ describe('logger pipeline — errors({stack:true})', () => {
69
+ test('logger.error(err) (single-arg Error) still produces a non-empty message and a stack', () => {
70
+ // This is the regression errors({stack:true}) exists to prevent: without it, winston's
71
+ // single-arg path makes `info` *be* the Error, and message/stack are non-enumerable, so
72
+ // json() would emit {"level":"error","timestamp":"…"} — content-free.
73
+ const { logger, capture } = makeTestLogger();
74
+ logger.error(new Error('boom'));
75
+ expect(capture.lines).toHaveLength(1);
76
+ expect(capture.lines[0].message).toBe('boom');
77
+ expect(typeof capture.lines[0].stack).toBe('string');
78
+ expect(capture.lines[0].stack.length).toBeGreaterThan(0);
79
+ });
80
+ });
81
+ describe('logger pipeline — hostile inputs never throw', () => {
82
+ test.each([
83
+ ['null', null],
84
+ ['undefined', undefined],
85
+ ['NaN', NaN],
86
+ ['a circular object', (() => { const c = { a: 1 }; c.self = c; return c; })()],
87
+ ['an object with a throwing getter', { get boom() { throw new Error('nope'); } }],
88
+ ['a BigInt', BigInt(9007199254740993)],
89
+ ['a Symbol', Symbol('x')],
90
+ ['an Error with no message', new Error()],
91
+ ['a 10MB string', 'x'.repeat(10 * 1024 * 1024)],
92
+ ])('logger.error(%s) does not throw', (_label, value) => {
93
+ const { logger } = makeTestLogger();
94
+ expect(() => logger.error(value)).not.toThrow();
95
+ });
96
+ });
97
+ describe('DiagnosticsTransport (Phase 6a)', () => {
98
+ function makeDiagnosticsLogger() {
99
+ const capture = new CaptureTransport();
100
+ const logger = winston.createLogger({
101
+ level: 'silly',
102
+ format: winston.format.combine(winston.format.errors({ stack: true }), winston.format.timestamp(), (0, logger_1.redact)(), winston.format.splat(), winston.format.json()),
103
+ transports: [capture, new logger_1.DiagnosticsTransport()],
104
+ });
105
+ return { logger, capture };
106
+ }
107
+ test('pushes warn/error records to whatever sink is installed', () => {
108
+ var _a, _b;
109
+ const events = [];
110
+ const sink = { push: (e) => events.push(e) };
111
+ (0, logSink_1.installLogSink)(sink);
112
+ const { logger } = makeDiagnosticsLogger();
113
+ logger.warn('a stable warning');
114
+ logger.error('a stable error', Object.assign(new Error('boom'), { code: 'ECONN' }));
115
+ expect(events).toHaveLength(2);
116
+ expect(events[0].level).toBe('warn');
117
+ expect((_a = events[1].err) === null || _a === void 0 ? void 0 : _a.code).toBe('ECONN');
118
+ expect((_b = events[1].err) === null || _b === void 0 ? void 0 : _b.stack).toEqual(expect.any(String));
119
+ });
120
+ test('does not push info/debug records', () => {
121
+ const events = [];
122
+ (0, logSink_1.installLogSink)({ push: (e) => events.push(e) });
123
+ const { logger } = makeDiagnosticsLogger();
124
+ logger.info('not interesting to the dashboard');
125
+ expect(events).toHaveLength(0);
126
+ });
127
+ test('a throwing sink cannot break the log call', () => {
128
+ (0, logSink_1.installLogSink)({
129
+ push: () => {
130
+ throw new Error('sink is down');
131
+ },
132
+ });
133
+ const { logger } = makeDiagnosticsLogger();
134
+ expect(() => logger.error('still must not throw')).not.toThrow();
135
+ });
136
+ test.each([
137
+ ['null', null],
138
+ ['undefined', undefined],
139
+ ['NaN', NaN],
140
+ ['a circular object', (() => { const c = { a: 1 }; c.self = c; return c; })()],
141
+ ['an object with a throwing getter', { get boom() { throw new Error('nope'); } }],
142
+ ['a BigInt', BigInt(9007199254740993)],
143
+ ['a Symbol', Symbol('x')],
144
+ ['an Error with no message', new Error()],
145
+ ['a 10MB string', 'x'.repeat(10 * 1024 * 1024)],
146
+ ])('logger.error(%s) with a sink installed does not throw', (_label, value) => {
147
+ (0, logSink_1.installLogSink)({ push: () => undefined });
148
+ const { logger } = makeDiagnosticsLogger();
149
+ expect(() => logger.error(value)).not.toThrow();
150
+ });
151
+ });
152
+ describe('textFormat safety (regression)', () => {
153
+ // The hostile-input matrix above exercises makeTestLogger()'s json() pipeline — it never
154
+ // touched the real singleton logger's text-format branch (LOG_FORMAT's default), which is
155
+ // where a Symbol message crashed: a template literal's implicit ToString throws on a Symbol,
156
+ // and this formatter sits with no try/catch around it.
157
+ test('logger.error(Symbol) does not throw through the real default-exported logger', () => {
158
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
159
+ const logger = require('../../utils/logger').default;
160
+ expect(() => logger.error(Symbol('x'))).not.toThrow();
161
+ });
162
+ });
163
+ describe('DiagnosticsTransport capture policy (Phase 6b)', () => {
164
+ function makeDiagnosticsLogger() {
165
+ const capture = new CaptureTransport();
166
+ const logger = winston.createLogger({
167
+ level: 'silly',
168
+ format: winston.format.combine(winston.format.errors({ stack: true }), winston.format.timestamp(), (0, logger_1.redact)(), winston.format.splat(), winston.format.json()),
169
+ transports: [capture, new logger_1.DiagnosticsTransport()],
170
+ });
171
+ return { logger, capture };
172
+ }
173
+ test('normal mode (no captureMode) does not persist debug/info', () => {
174
+ const events = [];
175
+ (0, logSink_1.installLogSink)({ push: (e) => events.push(e) });
176
+ const { logger } = makeDiagnosticsLogger();
177
+ runContext_1.runContextStore.run({ runId: 'run-1' }, () => {
178
+ logger.debug('a debug line');
179
+ logger.info('an info line');
180
+ });
181
+ expect(events).toHaveLength(0);
182
+ });
183
+ test('verbose mode persists debug and info', () => {
184
+ const events = [];
185
+ (0, logSink_1.installLogSink)({ push: (e) => events.push(e) });
186
+ const { logger } = makeDiagnosticsLogger();
187
+ runContext_1.runContextStore.run({ runId: 'run-2', captureMode: 'verbose' }, () => {
188
+ logger.debug('a debug line');
189
+ logger.info('an info line');
190
+ });
191
+ expect(events).toHaveLength(2);
192
+ expect(events[0].retainPending).toBeUndefined();
193
+ });
194
+ test('warn/error persist regardless of capture mode', () => {
195
+ const events = [];
196
+ (0, logSink_1.installLogSink)({ push: (e) => events.push(e) });
197
+ const { logger } = makeDiagnosticsLogger();
198
+ runContext_1.runContextStore.run({ runId: 'run-3' }, () => {
199
+ logger.warn('a warning');
200
+ logger.error('an error');
201
+ });
202
+ expect(events).toHaveLength(2);
203
+ });
204
+ test('retain-on-failure persists debug/info tagged retainPending: true', () => {
205
+ const events = [];
206
+ (0, logSink_1.installLogSink)({ push: (e) => events.push(e) });
207
+ const { logger } = makeDiagnosticsLogger();
208
+ runContext_1.runContextStore.run({ runId: 'run-4', captureMode: 'retain-on-failure' }, () => {
209
+ logger.debug('a debug line');
210
+ });
211
+ expect(events).toHaveLength(1);
212
+ expect(events[0].retainPending).toBe(true);
213
+ });
214
+ test('retain-on-failure does not tag warn/error as retainPending', () => {
215
+ const events = [];
216
+ (0, logSink_1.installLogSink)({ push: (e) => events.push(e) });
217
+ const { logger } = makeDiagnosticsLogger();
218
+ runContext_1.runContextStore.run({ runId: 'run-5', captureMode: 'retain-on-failure' }, () => {
219
+ logger.error('an error');
220
+ });
221
+ expect(events).toHaveLength(1);
222
+ expect(events[0].retainPending).toBeUndefined();
223
+ });
224
+ test('a concurrent normal-mode run is unaffected by a sibling verbose run', () => {
225
+ const events = [];
226
+ (0, logSink_1.installLogSink)({ push: (e) => events.push(e) });
227
+ const { logger } = makeDiagnosticsLogger();
228
+ runContext_1.runContextStore.run({ runId: 'verbose-run', captureMode: 'verbose' }, () => {
229
+ logger.debug('verbose debug');
230
+ });
231
+ runContext_1.runContextStore.run({ runId: 'normal-run' }, () => {
232
+ logger.debug('normal debug');
233
+ });
234
+ expect(events).toHaveLength(1);
235
+ expect(events[0].message).toBe('verbose debug');
236
+ });
237
+ });
238
+ //# sourceMappingURL=logger.test.js.map