Skip to content

Commit 8f88a71

Browse files
committed
fix: refactor test assertions to use common.mustSucceed for consistency
1 parent a9e288f commit 8f88a71

File tree

1 file changed

+116
-93
lines changed

1 file changed

+116
-93
lines changed

test/parallel/test-log-basic.js

Lines changed: 116 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
'use strict';
22

3-
require('../common');
3+
const common = require('../common');
44

55
const assert = require('node:assert');
6-
const common = require('../common');
76
const { createLogger, Logger, LogConsumer, JSONConsumer, LEVELS, channels } = require('node:logger');
87
const fs = require('node:fs');
98
const os = require('node:os');
@@ -111,14 +110,16 @@ const path = require('node:path');
111110
// Flush synchronously and read the output
112111
consumer.flushSync();
113112
consumer.end(() => {
114-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
115-
assert.notStrictEqual(output, '');
116-
const parsed = JSON.parse(output);
117-
assert.strictEqual(parsed.level, 'info');
118-
assert.strictEqual(parsed.msg, 'test message');
119-
assert.strictEqual(parsed.userId, 123);
120-
assert.strictEqual(typeof parsed.time, 'number');
121-
fs.unlinkSync(tmpfile);
113+
common.mustSucceed(() => {
114+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
115+
assert.notStrictEqual(output, '');
116+
const parsed = JSON.parse(output);
117+
assert.strictEqual(parsed.level, 'info');
118+
assert.strictEqual(parsed.msg, 'test message');
119+
assert.strictEqual(parsed.userId, 123);
120+
assert.strictEqual(typeof parsed.time, 'number');
121+
fs.unlinkSync(tmpfile);
122+
})();
122123
});
123124
}
124125

@@ -137,13 +138,15 @@ const path = require('node:path');
137138

138139
consumer.flushSync();
139140
consumer.end(() => {
140-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
141-
assert.notStrictEqual(output, '');
142-
const parsed = JSON.parse(output);
143-
assert.strictEqual(parsed.hostname, 'test-host');
144-
assert.strictEqual(parsed.pid, 12345);
145-
assert.strictEqual(parsed.msg, 'with fields');
146-
fs.unlinkSync(tmpfile);
141+
common.mustSucceed(() => {
142+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
143+
assert.notStrictEqual(output, '');
144+
const parsed = JSON.parse(output);
145+
assert.strictEqual(parsed.hostname, 'test-host');
146+
assert.strictEqual(parsed.pid, 12345);
147+
assert.strictEqual(parsed.msg, 'with fields');
148+
fs.unlinkSync(tmpfile);
149+
})();
147150
});
148151
}
149152

@@ -162,13 +165,15 @@ const path = require('node:path');
162165

163166
consumer.flushSync();
164167
consumer.end(() => {
165-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
166-
assert.notStrictEqual(output, '');
167-
const parsed = JSON.parse(output);
168-
assert.strictEqual(parsed.requestId, 'xyz-789');
169-
assert.strictEqual(parsed.action, 'create');
170-
assert.strictEqual(parsed.msg, 'child log');
171-
fs.unlinkSync(tmpfile);
168+
common.mustSucceed(() => {
169+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
170+
assert.notStrictEqual(output, '');
171+
const parsed = JSON.parse(output);
172+
assert.strictEqual(parsed.requestId, 'xyz-789');
173+
assert.strictEqual(parsed.action, 'create');
174+
assert.strictEqual(parsed.msg, 'child log');
175+
fs.unlinkSync(tmpfile);
176+
})();
172177
});
173178
}
174179

@@ -239,12 +244,14 @@ const path = require('node:path');
239244

240245
consumer.flushSync();
241246
consumer.end(() => {
242-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
243-
assert.notStrictEqual(output, '');
244-
const parsed = JSON.parse(output);
245-
assert.strictEqual(parsed.msg, 'simple message');
246-
assert.strictEqual(parsed.level, 'info');
247-
fs.unlinkSync(tmpfile);
247+
common.mustSucceed(() => {
248+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
249+
assert.notStrictEqual(output, '');
250+
const parsed = JSON.parse(output);
251+
assert.strictEqual(parsed.msg, 'simple message');
252+
assert.strictEqual(parsed.level, 'info');
253+
fs.unlinkSync(tmpfile);
254+
})();
248255
});
249256
}
250257

@@ -262,13 +269,15 @@ const path = require('node:path');
262269

263270
consumer.flushSync();
264271
consumer.end(() => {
265-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
266-
assert.notStrictEqual(output, '');
267-
const parsed = JSON.parse(output);
268-
assert.strictEqual(parsed.msg, 'user login');
269-
assert.strictEqual(parsed.userId, 123);
270-
assert.strictEqual(parsed.ip, '127.0.0.1');
271-
fs.unlinkSync(tmpfile);
272+
common.mustSucceed(() => {
273+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
274+
assert.notStrictEqual(output, '');
275+
const parsed = JSON.parse(output);
276+
assert.strictEqual(parsed.msg, 'user login');
277+
assert.strictEqual(parsed.userId, 123);
278+
assert.strictEqual(parsed.ip, '127.0.0.1');
279+
fs.unlinkSync(tmpfile);
280+
})();
272281
});
273282
}
274283

@@ -288,16 +297,18 @@ const path = require('node:path');
288297

289298
consumer.flushSync();
290299
consumer.end(() => {
291-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
292-
assert.notStrictEqual(output, '');
293-
const parsed = JSON.parse(output);
294-
// Error should be serialized with stack trace
295-
assert.strictEqual(parsed.msg, 'operation failed');
296-
assert.strictEqual(typeof parsed.err, 'object');
297-
assert.strictEqual(parsed.err.message, 'test error');
298-
assert.strictEqual(parsed.err.code, 'TEST_ERROR');
299-
assert(parsed.err.stack);
300-
fs.unlinkSync(tmpfile);
300+
common.mustSucceed(() => {
301+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
302+
assert.notStrictEqual(output, '');
303+
const parsed = JSON.parse(output);
304+
// Error should be serialized with stack trace
305+
assert.strictEqual(parsed.msg, 'operation failed');
306+
assert.strictEqual(typeof parsed.err, 'object');
307+
assert.strictEqual(parsed.err.message, 'test error');
308+
assert.strictEqual(parsed.err.code, 'TEST_ERROR');
309+
assert(parsed.err.stack);
310+
fs.unlinkSync(tmpfile);
311+
})();
301312
});
302313
}
303314

@@ -316,13 +327,15 @@ const path = require('node:path');
316327

317328
consumer.flushSync();
318329
consumer.end(() => {
319-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
320-
assert.notStrictEqual(output, '');
321-
const parsed = JSON.parse(output);
322-
assert.strictEqual(parsed.msg, 'boom'); // message from error
323-
assert.strictEqual(typeof parsed.err, 'object');
324-
assert(parsed.err.stack);
325-
fs.unlinkSync(tmpfile);
330+
common.mustSucceed(() => {
331+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
332+
assert.notStrictEqual(output, '');
333+
const parsed = JSON.parse(output);
334+
assert.strictEqual(parsed.msg, 'boom'); // message from error
335+
assert.strictEqual(typeof parsed.err, 'object');
336+
assert(parsed.err.stack);
337+
fs.unlinkSync(tmpfile);
338+
})();
326339
});
327340
}
328341

@@ -342,15 +355,17 @@ const path = require('node:path');
342355

343356
consumer.flushSync();
344357
consumer.end(() => {
345-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
346-
assert.notStrictEqual(output, '');
347-
const parsed = JSON.parse(output);
348-
// Merge order: consumer fields < bindings < log fields
349-
assert.strictEqual(parsed.service, 'api');
350-
assert.strictEqual(parsed.requestId, '123');
351-
assert.strictEqual(parsed.duration, 150);
352-
assert.strictEqual(parsed.msg, 'request processed');
353-
fs.unlinkSync(tmpfile);
358+
common.mustSucceed(() => {
359+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
360+
assert.notStrictEqual(output, '');
361+
const parsed = JSON.parse(output);
362+
// Merge order: consumer fields < bindings < log fields
363+
assert.strictEqual(parsed.service, 'api');
364+
assert.strictEqual(parsed.requestId, '123');
365+
assert.strictEqual(parsed.duration, 150);
366+
assert.strictEqual(parsed.msg, 'request processed');
367+
fs.unlinkSync(tmpfile);
368+
})();
354369
});
355370
}
356371

@@ -370,13 +385,15 @@ const path = require('node:path');
370385

371386
consumer.flushSync();
372387
consumer.end(() => {
373-
const output = fs.readFileSync(tmpfile, 'utf8').trim();
374-
assert.notStrictEqual(output, '');
375-
const parsed = JSON.parse(output);
376-
// Log fields should override everything
377-
assert.strictEqual(parsed.env, 'production');
378-
assert.strictEqual(parsed.version, '1.0');
379-
fs.unlinkSync(tmpfile);
388+
common.mustSucceed(() => {
389+
const output = fs.readFileSync(tmpfile, 'utf8').trim();
390+
assert.notStrictEqual(output, '');
391+
const parsed = JSON.parse(output);
392+
// Log fields should override everything
393+
assert.strictEqual(parsed.env, 'production');
394+
assert.strictEqual(parsed.version, '1.0');
395+
fs.unlinkSync(tmpfile);
396+
})();
380397
});
381398
}
382399

@@ -418,20 +435,22 @@ const path = require('node:path');
418435
const output2 = fs.readFileSync(tmpfile2, 'utf8');
419436
const lines2 = output2.trim().split('\n').filter(Boolean);
420437

421-
// Consumer1 dosya formatı satır başına log yazıyorsa 4 olmalı, değilse bu kontrolü güncelle.
422-
assert.strictEqual(lines1.length, 4);
423-
assert.strictEqual(JSON.parse(lines1[0]).level, 'debug');
424-
assert.strictEqual(JSON.parse(lines1[1]).level, 'info');
425-
assert.strictEqual(JSON.parse(lines1[2]).level, 'warn');
426-
assert.strictEqual(JSON.parse(lines1[3]).level, 'error');
427-
428-
// Consumer2 dosya formatı satır başına log yazıyorsa 2 olmalı, değilse bu kontrolü güncelle.
429-
assert.strictEqual(lines2.length, 2);
430-
assert.strictEqual(JSON.parse(lines2[0]).level, 'warn');
431-
assert.strictEqual(JSON.parse(lines2[1]).level, 'error');
432-
433-
fs.unlinkSync(tmpfile1);
434-
fs.unlinkSync(tmpfile2);
438+
// Consumer1 should have 4 log lines if each log is written per line.
439+
common.mustSucceed(() => {
440+
assert.strictEqual(lines1.length, 4);
441+
assert.strictEqual(JSON.parse(lines1[0]).level, 'debug');
442+
assert.strictEqual(JSON.parse(lines1[1]).level, 'info');
443+
assert.strictEqual(JSON.parse(lines1[2]).level, 'warn');
444+
assert.strictEqual(JSON.parse(lines1[3]).level, 'error');
445+
446+
// Consumer2 should have 2 log lines if each log is written per line.
447+
assert.strictEqual(lines2.length, 2);
448+
assert.strictEqual(JSON.parse(lines2[0]).level, 'warn');
449+
assert.strictEqual(JSON.parse(lines2[1]).level, 'error');
450+
451+
fs.unlinkSync(tmpfile1);
452+
fs.unlinkSync(tmpfile2);
453+
})();
435454
}
436455
}
437456

@@ -471,11 +490,13 @@ const path = require('node:path');
471490

472491
logger.error({ msg: 'Multiple errors', err, error });
473492

474-
assert.strictEqual(logs.length, 1);
475-
assert.strictEqual(logs[0].err.message, 'Error 1');
476-
assert.strictEqual(logs[0].error.message, 'Error 2');
477-
assert.ok(logs[0].err.stack);
478-
assert.ok(logs[0].error.stack);
493+
common.mustSucceed(() => {
494+
assert.strictEqual(logs.length, 1);
495+
assert.strictEqual(logs[0].err.message, 'Error 1');
496+
assert.strictEqual(logs[0].error.message, 'Error 2');
497+
assert.ok(logs[0].err.stack);
498+
assert.ok(logs[0].error.stack);
499+
})();
479500
}
480501

481502
// Test: 'error' field serialization
@@ -498,8 +519,10 @@ const path = require('node:path');
498519

499520
logger.error({ msg: 'Operation failed', error });
500521

501-
assert.strictEqual(logs.length, 1);
502-
assert.strictEqual(logs[0].error.message, 'Test error');
503-
assert.strictEqual(logs[0].error.code, 'TEST_CODE');
504-
assert.ok(logs[0].error.stack);
522+
common.mustSucceed(() => {
523+
assert.strictEqual(logs.length, 1);
524+
assert.strictEqual(logs[0].error.message, 'Test error');
525+
assert.strictEqual(logs[0].error.code, 'TEST_CODE');
526+
assert.ok(logs[0].error.stack);
527+
})();
505528
}

0 commit comments

Comments
 (0)