You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-13 10:02:24 +03:00
fix CLUSTER_NODES, add some tests
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { strict as assert } from 'assert';
|
import { strict as assert } from 'assert';
|
||||||
|
import { itWithCluster, TestRedisClusters } from '../test-utils';
|
||||||
import { transformArguments, transformReply } from './CLUSTER_INFO';
|
import { transformArguments, transformReply } from './CLUSTER_INFO';
|
||||||
|
|
||||||
describe('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 { strict as assert } from 'assert';
|
||||||
|
import { itWithCluster, TestRedisClusters } from '../test-utils';
|
||||||
import { RedisClusterNodeLinkStates, transformArguments, transformReply } from './CLUSTER_NODES';
|
import { RedisClusterNodeLinkStates, transformArguments, transformReply } from './CLUSTER_NODES';
|
||||||
|
|
||||||
describe('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 {
|
export interface RedisClusterReplicaNode extends RedisClusterNodeTransformedUrl {
|
||||||
id: string;
|
id: string;
|
||||||
url: string;
|
url: string;
|
||||||
flags: Array<string>,
|
flags: Array<string>;
|
||||||
pingSent: number;
|
pingSent: number;
|
||||||
pongRecv: number;
|
pongRecv: number;
|
||||||
configEpoch: number;
|
configEpoch: number;
|
||||||
@@ -25,8 +25,8 @@ export interface RedisClusterReplicaNode extends RedisClusterNodeTransformedUrl
|
|||||||
|
|
||||||
export interface RedisClusterMasterNode extends RedisClusterReplicaNode {
|
export interface RedisClusterMasterNode extends RedisClusterReplicaNode {
|
||||||
slots: Array<{
|
slots: Array<{
|
||||||
from: number,
|
from: number;
|
||||||
to: number
|
to: number;
|
||||||
}>;
|
}>;
|
||||||
replicas: Array<RedisClusterReplicaNode>;
|
replicas: Array<RedisClusterReplicaNode>;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user