You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-11 22:42:42 +03:00
fix CLUSTER_NODES, add some tests
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import { itWithCluster, TestRedisClusters } from '../test-utils';
|
||||
import { transformArguments, transformReply } from './CLUSTER_INFO';
|
||||
|
||||
describe('CLUSTER INFO', () => {
|
||||
@@ -43,4 +44,21 @@ describe('CLUSTER INFO', () => {
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
itWithCluster(TestRedisClusters.OPEN, 'cluster.clusterInfo', async cluster => {
|
||||
const info = await cluster.clusterInfo();
|
||||
assert.equal(info.state, 'ok');
|
||||
assert.deepEqual(info.slots, {
|
||||
assigned: 16384,
|
||||
ok: 16384,
|
||||
pfail: 0,
|
||||
fail: 0
|
||||
});
|
||||
assert.equal(info.knownNodes, 3);
|
||||
assert.equal(info.size, 3);
|
||||
assert.equal(typeof info.currentEpoch, 'number');
|
||||
assert.equal(typeof info.myEpoch, 'number');
|
||||
assert.equal(typeof info.stats.messagesReceived, 'number');
|
||||
assert.equal(typeof info.stats.messagesSent, 'number');
|
||||
});
|
||||
});
|
||||
|
@@ -1,4 +1,5 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import { itWithCluster, TestRedisClusters } from '../test-utils';
|
||||
import { RedisClusterNodeLinkStates, transformArguments, transformReply } from './CLUSTER_NODES';
|
||||
|
||||
describe('CLUSTER NODES', () => {
|
||||
@@ -92,4 +93,26 @@ describe('CLUSTER NODES', () => {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
itWithCluster(TestRedisClusters.OPEN, 'cluster.clusterNodes', async cluster => {
|
||||
const nodes = await cluster.clusterNodes();
|
||||
|
||||
for (const node of (await cluster.clusterNodes())) {
|
||||
assert.equal(typeof node.id, 'string');
|
||||
assert.equal(typeof node.url, 'string');
|
||||
assert.equal(typeof node.host, 'string');
|
||||
assert.equal(typeof node.port, 'number');
|
||||
assert.equal(typeof node.cport, 'number');
|
||||
assert.ok(Array.isArray(node.flags));
|
||||
assert.equal(typeof node.pingSent, 'number');
|
||||
assert.equal(typeof node.pongRecv, 'number');
|
||||
assert.equal(typeof node.configEpoch, 'number');
|
||||
assert.equal(typeof node.linkState, 'string');
|
||||
|
||||
for (const slot of node.slots) {
|
||||
assert.equal(typeof slot.from, 'number');
|
||||
assert.equal(typeof slot.to, 'number');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@@ -16,7 +16,7 @@ interface RedisClusterNodeTransformedUrl {
|
||||
export interface RedisClusterReplicaNode extends RedisClusterNodeTransformedUrl {
|
||||
id: string;
|
||||
url: string;
|
||||
flags: Array<string>,
|
||||
flags: Array<string>;
|
||||
pingSent: number;
|
||||
pongRecv: number;
|
||||
configEpoch: number;
|
||||
@@ -25,8 +25,8 @@ export interface RedisClusterReplicaNode extends RedisClusterNodeTransformedUrl
|
||||
|
||||
export interface RedisClusterMasterNode extends RedisClusterReplicaNode {
|
||||
slots: Array<{
|
||||
from: number,
|
||||
to: number
|
||||
from: number;
|
||||
to: number;
|
||||
}>;
|
||||
replicas: Array<RedisClusterReplicaNode>;
|
||||
}
|
||||
|
Reference in New Issue
Block a user