Skip to content

Commit 08cac50

Browse files
committed
fix(test): ci environment doesn't handle replacing console with a mock
1 parent 9f2643a commit 08cac50

File tree

1 file changed

+80
-60
lines changed

1 file changed

+80
-60
lines changed

packages/opentelemetry-api/test/diag/consoleLogger.test.ts

Lines changed: 80 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,16 @@ describe('DiagConsoleLogger', () => {
3232
let errorCalledArgs: unknown;
3333
let logCalledArgs: unknown;
3434

35+
let canMockConsole = true;
36+
37+
try {
38+
// eslint-disable-next-line no-global-assign
39+
console = origConsole;
40+
} catch (ex) {
41+
// Not supported on CI pipeline (works locally)
42+
canMockConsole = false;
43+
}
44+
3545
beforeEach(() => {
3646
// mock
3747
console.debug = (...args: unknown[]) => {
@@ -62,8 +72,16 @@ describe('DiagConsoleLogger', () => {
6272
errorCalledArgs = null;
6373
logCalledArgs = null;
6474
traceCalledArgs = null;
65-
// eslint-disable-next-line no-global-assign
66-
console = origConsole;
75+
76+
if (canMockConsole) {
77+
try {
78+
// eslint-disable-next-line no-global-assign
79+
console = origConsole;
80+
} catch (ex) {
81+
// Not supported on CI pipeline
82+
canMockConsole = false;
83+
}
84+
}
6785
console.debug = origDebug;
6886
console.info = origInfo;
6987
console.warn = origWarn;
@@ -265,66 +283,68 @@ describe('DiagConsoleLogger', () => {
265283
assert.deepStrictEqual(infoCalledArgs, null);
266284
});
267285

268-
it('should not throw even when console is invalid after construction', () => {
269-
const invalidConsole = {
270-
debug: 1,
271-
warn: 2,
272-
error: 3,
273-
trace: 4,
274-
info: 5,
275-
log: 6,
276-
};
286+
if (canMockConsole) {
287+
it('should not throw even when console is invalid after construction', () => {
288+
const invalidConsole = {
289+
debug: 1,
290+
warn: 2,
291+
error: 3,
292+
trace: 4,
293+
info: 5,
294+
log: 6,
295+
};
277296

278-
const consoleLogger = new DiagConsoleLogger();
279-
(console as any) = invalidConsole;
280-
consoleLogger.terminal('terminal called %s', 'param1');
281-
assert.deepStrictEqual(errorCalledArgs, null);
282-
consoleLogger.critical('critical called %s', 'param1');
283-
assert.deepStrictEqual(errorCalledArgs, null);
284-
consoleLogger.error('error called %s', 'param1');
285-
assert.deepStrictEqual(errorCalledArgs, null);
286-
consoleLogger.warn('warn called %s', 'param1');
287-
assert.deepStrictEqual(warnCalledArgs, null);
288-
consoleLogger.info('info called %s', 'param1');
289-
assert.deepStrictEqual(infoCalledArgs, null);
290-
consoleLogger.debug('debug called %s', 'param1');
291-
assert.deepStrictEqual(debugCalledArgs, null);
292-
consoleLogger.trace('trace called %s', 'param1');
293-
assert.deepStrictEqual(traceCalledArgs, null);
294-
assert.deepStrictEqual(logCalledArgs, null);
295-
consoleLogger.forcedInfo('forcedInfo called %s', 'param1');
296-
assert.deepStrictEqual(infoCalledArgs, null);
297-
});
297+
const consoleLogger = new DiagConsoleLogger();
298+
(console as any) = invalidConsole;
299+
consoleLogger.terminal('terminal called %s', 'param1');
300+
assert.deepStrictEqual(errorCalledArgs, null);
301+
consoleLogger.critical('critical called %s', 'param1');
302+
assert.deepStrictEqual(errorCalledArgs, null);
303+
consoleLogger.error('error called %s', 'param1');
304+
assert.deepStrictEqual(errorCalledArgs, null);
305+
consoleLogger.warn('warn called %s', 'param1');
306+
assert.deepStrictEqual(warnCalledArgs, null);
307+
consoleLogger.info('info called %s', 'param1');
308+
assert.deepStrictEqual(infoCalledArgs, null);
309+
consoleLogger.debug('debug called %s', 'param1');
310+
assert.deepStrictEqual(debugCalledArgs, null);
311+
consoleLogger.trace('trace called %s', 'param1');
312+
assert.deepStrictEqual(traceCalledArgs, null);
313+
assert.deepStrictEqual(logCalledArgs, null);
314+
consoleLogger.forcedInfo('forcedInfo called %s', 'param1');
315+
assert.deepStrictEqual(infoCalledArgs, null);
316+
});
298317

299-
it('should not throw even when console is invalid before construction', () => {
300-
const invalidConsole = {
301-
debug: 1,
302-
warn: 2,
303-
error: 3,
304-
trace: 4,
305-
info: 5,
306-
log: 6,
307-
};
318+
it('should not throw even when console is invalid before construction', () => {
319+
const invalidConsole = {
320+
debug: 1,
321+
warn: 2,
322+
error: 3,
323+
trace: 4,
324+
info: 5,
325+
log: 6,
326+
};
308327

309-
(console as any) = invalidConsole;
310-
const consoleLogger = new DiagConsoleLogger();
311-
consoleLogger.terminal('terminal called %s', 'param1');
312-
assert.deepStrictEqual(errorCalledArgs, null);
313-
consoleLogger.critical('critical called %s', 'param1');
314-
assert.deepStrictEqual(errorCalledArgs, null);
315-
consoleLogger.error('error called %s', 'param1');
316-
assert.deepStrictEqual(errorCalledArgs, null);
317-
consoleLogger.warn('warn called %s', 'param1');
318-
assert.deepStrictEqual(warnCalledArgs, null);
319-
consoleLogger.info('info called %s', 'param1');
320-
assert.deepStrictEqual(infoCalledArgs, null);
321-
consoleLogger.debug('debug called %s', 'param1');
322-
assert.deepStrictEqual(debugCalledArgs, null);
323-
consoleLogger.trace('trace called %s', 'param1');
324-
assert.deepStrictEqual(traceCalledArgs, null);
325-
assert.deepStrictEqual(logCalledArgs, null);
326-
consoleLogger.forcedInfo('forcedInfo called %s', 'param1');
327-
assert.deepStrictEqual(infoCalledArgs, null);
328-
});
328+
(console as any) = invalidConsole;
329+
const consoleLogger = new DiagConsoleLogger();
330+
consoleLogger.terminal('terminal called %s', 'param1');
331+
assert.deepStrictEqual(errorCalledArgs, null);
332+
consoleLogger.critical('critical called %s', 'param1');
333+
assert.deepStrictEqual(errorCalledArgs, null);
334+
consoleLogger.error('error called %s', 'param1');
335+
assert.deepStrictEqual(errorCalledArgs, null);
336+
consoleLogger.warn('warn called %s', 'param1');
337+
assert.deepStrictEqual(warnCalledArgs, null);
338+
consoleLogger.info('info called %s', 'param1');
339+
assert.deepStrictEqual(infoCalledArgs, null);
340+
consoleLogger.debug('debug called %s', 'param1');
341+
assert.deepStrictEqual(debugCalledArgs, null);
342+
consoleLogger.trace('trace called %s', 'param1');
343+
assert.deepStrictEqual(traceCalledArgs, null);
344+
assert.deepStrictEqual(logCalledArgs, null);
345+
consoleLogger.forcedInfo('forcedInfo called %s', 'param1');
346+
assert.deepStrictEqual(infoCalledArgs, null);
347+
});
348+
}
329349
});
330350
});

0 commit comments

Comments
 (0)