Skip to content

Commit 0e1e6aa

Browse files
test: allow appropriate waiting times (#754)
1 parent 561538e commit 0e1e6aa

1 file changed

Lines changed: 63 additions & 42 deletions

File tree

handwritten/logging/system-test/logging.ts

Lines changed: 63 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -300,10 +300,13 @@ describe('Logging', async () => {
300300

301301
function getEntriesFromLog(
302302
log: Log,
303+
config: {numExpectedMessages: number},
303304
callback: (err: Error | null, entries?: Entry[]) => void
304305
) {
305306
let numAttempts = 0;
306307

308+
const numExpectedMessages = config.numExpectedMessages;
309+
307310
setTimeout(pollForMessages, WRITE_CONSISTENCY_DELAY_MS);
308311

309312
function pollForMessages() {
@@ -315,7 +318,7 @@ describe('Logging', async () => {
315318
return;
316319
}
317320

318-
if (entries!.length === 0 && numAttempts < 8) {
321+
if (entries!.length < numExpectedMessages && numAttempts < 8) {
319322
setTimeout(pollForMessages, WRITE_CONSISTENCY_DELAY_MS);
320323
return;
321324
}
@@ -363,11 +366,15 @@ describe('Logging', async () => {
363366
log.write(logEntries, options, err => {
364367
assert.ifError(err);
365368

366-
getEntriesFromLog(log, (err, entries) => {
367-
assert.ifError(err);
368-
assert.strictEqual(entries!.length, logEntries.length);
369-
done();
370-
});
369+
getEntriesFromLog(
370+
log,
371+
{numExpectedMessages: logEntries.length},
372+
(err, entries) => {
373+
assert.ifError(err);
374+
assert.strictEqual(entries!.length, logEntries.length);
375+
done();
376+
}
377+
);
371378
});
372379
});
373380

@@ -400,11 +407,15 @@ describe('Logging', async () => {
400407
});
401408

402409
it('should list log entries', done => {
403-
getEntriesFromLog(logExpected, (err, entries) => {
404-
assert.ifError(err);
405-
assert.strictEqual(entries!.length, logEntriesExpected.length);
406-
done();
407-
});
410+
getEntriesFromLog(
411+
logExpected,
412+
{numExpectedMessages: logEntriesExpected.length},
413+
(err, entries) => {
414+
assert.ifError(err);
415+
assert.strictEqual(entries!.length, logEntriesExpected.length);
416+
done();
417+
}
418+
);
408419
});
409420

410421
it('should list log entries as a stream', done => {
@@ -437,26 +448,30 @@ describe('Logging', async () => {
437448
log.write(logEntries, options, err => {
438449
assert.ifError(err);
439450

440-
getEntriesFromLog(log, (err, entries) => {
441-
assert.ifError(err);
451+
getEntriesFromLog(
452+
log,
453+
{numExpectedMessages: logEntries.length},
454+
(err, entries) => {
455+
assert.ifError(err);
442456

443-
assert.deepStrictEqual(entries!.map(x => x.data).reverse(), [
444-
'log entry 1',
445-
{delegate: 'my_username'},
446-
{
447-
nonValue: null,
448-
boolValue: true,
449-
arrayValue: [1, 2, 3],
450-
},
451-
{
452-
nested: {
453-
delegate: 'my_username',
457+
assert.deepStrictEqual(entries!.map(x => x.data).reverse(), [
458+
'log entry 1',
459+
{delegate: 'my_username'},
460+
{
461+
nonValue: null,
462+
boolValue: true,
463+
arrayValue: [1, 2, 3],
454464
},
455-
},
456-
]);
465+
{
466+
nested: {
467+
delegate: 'my_username',
468+
},
469+
},
470+
]);
457471

458-
done();
459-
});
472+
done();
473+
}
474+
);
460475
});
461476
});
462477

@@ -473,7 +488,7 @@ describe('Logging', async () => {
473488
log.write([entry2, entry3, entry1], options, err => {
474489
assert.ifError(err);
475490

476-
getEntriesFromLog(log, (err, entries) => {
491+
getEntriesFromLog(log, {numExpectedMessages: 3}, (err, entries) => {
477492
assert.ifError(err);
478493
assert.deepStrictEqual(
479494
entries!.map(x => x.data),
@@ -489,18 +504,24 @@ describe('Logging', async () => {
489504
const {log} = getTestLog();
490505
const messages = ['1', '2', '3', '4', '5'];
491506

492-
messages.forEach(message => {
493-
log.write(log.entry(message), options);
494-
});
507+
(async () => {
508+
for (const message of messages) {
509+
await log.write(log.entry(message), options);
510+
}
495511

496-
getEntriesFromLog(log, (err, entries) => {
497-
assert.ifError(err);
498-
assert.deepStrictEqual(
499-
entries!.reverse().map(x => x.data),
500-
messages
512+
getEntriesFromLog(
513+
log,
514+
{numExpectedMessages: messages.length},
515+
(err, entries) => {
516+
assert.ifError(err);
517+
assert.deepStrictEqual(
518+
entries!.reverse().map(x => x.data),
519+
messages
520+
);
521+
done();
522+
}
501523
);
502-
done();
503-
});
524+
})();
504525
});
505526

506527
it('should write an entry with primitive values', done => {
@@ -516,7 +537,7 @@ describe('Logging', async () => {
516537
log.write(logEntry, options, err => {
517538
assert.ifError(err);
518539

519-
getEntriesFromLog(log, (err, entries) => {
540+
getEntriesFromLog(log, {numExpectedMessages: 1}, (err, entries) => {
520541
assert.ifError(err);
521542

522543
const entry = entries![0];
@@ -548,7 +569,7 @@ describe('Logging', async () => {
548569
log.write(logEntry, err => {
549570
assert.ifError(err);
550571

551-
getEntriesFromLog(log, (err, entries) => {
572+
getEntriesFromLog(log, {numExpectedMessages: 1}, (err, entries) => {
552573
assert.ifError(err);
553574

554575
const entry = entries![0];
@@ -568,7 +589,7 @@ describe('Logging', async () => {
568589
log.write(entry, err => {
569590
assert.ifError(err);
570591

571-
getEntriesFromLog(log, (err, entries) => {
592+
getEntriesFromLog(log, {numExpectedMessages: 1}, (err, entries) => {
572593
assert.ifError(err);
573594

574595
const entry = entries![0];

0 commit comments

Comments
 (0)