Skip to content

Commit 787aa6b

Browse files
committed
adding test for cluster events positive branch
1 parent 7627264 commit 787aa6b

File tree

2 files changed

+36
-3
lines changed

2 files changed

+36
-3
lines changed

packages/client/lib/cluster/cluster-slots.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,7 @@ export default class RedisClusterSlots<
416416

417417
this.#resetSlots();
418418
this.nodeByAddress.clear();
419+
this.#emit('disconnect');
419420
}
420421

421422
*#clients() {

packages/client/lib/cluster/index.spec.ts

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,13 @@ describe('Cluster', () => {
343343
describe('clusterEvents', () => {
344344
testUtils.testWithCluster('should fire events', async (cluster) => {
345345
const log: string[] = [];
346+
const rootNodes = cluster._options.rootNodes.length;
347+
const nodeConnect = rootNodes;
348+
const nodeReady = nodeConnect + rootNodes;
349+
const connect = nodeReady + 1;
350+
const nodeDisconnect = connect + rootNodes;
351+
const disconnect = nodeDisconnect + 1;
352+
346353
cluster
347354
.on('connect', () => log.push('connect'))
348355
.on('disconnect', () => log.push('disconnect'))
@@ -353,16 +360,41 @@ describe('Cluster', () => {
353360
.on('node-connect', () => log.push('node-connect'))
354361
.on('node-disconnect', () => log.push('node-disconnect'))
355362

356-
357363
await cluster.connect();
358364
cluster.destroy();
359365

360-
/* assertions on the log */
366+
assert.strictEqual(log.length, disconnect);
367+
368+
assert.deepStrictEqual(
369+
log.slice(0, nodeConnect),
370+
new Array(rootNodes).fill('node-connect'),
371+
);
372+
assert.deepStrictEqual(
373+
log.slice(nodeConnect, nodeReady),
374+
new Array(rootNodes).fill('node-ready'),
375+
);
376+
assert.deepStrictEqual(
377+
log.slice(nodeReady, connect),
378+
new Array(1).fill('connect'),
379+
);
380+
assert.deepStrictEqual(
381+
log.slice(connect, nodeDisconnect),
382+
new Array(rootNodes).fill('node-disconnect'),
383+
);
384+
assert.deepStrictEqual(
385+
log.slice(nodeDisconnect, disconnect),
386+
new Array(1).fill('disconnect'),
387+
);
388+
389+
assert.strictEqual(log.includes('error'), false);
390+
assert.strictEqual(log.includes('node-error'), false);
391+
assert.strictEqual(log.includes('node-reconnecting'), false);
361392

362393
}, {
363394
...GLOBAL.CLUSTERS.OPEN,
364395
disableClusterSetup: true
365-
})
396+
} as any);
397+
366398
});
367399

368400
});

0 commit comments

Comments
 (0)