You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
V5 bringing RESP3, Sentinel and TypeMapping to node-redis
RESP3 Support - Some commands responses in RESP3 aren't stable yet and therefore return an "untyped" ReplyUnion. Sentinel TypeMapping Correctly types Multi commands Note: some API changes to be further documented in v4-to-v5.md
This commit is contained in:
@@ -1,120 +1,120 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import { ClientKillFilters, transformArguments } from './CLIENT_KILL';
|
||||
import { strict as assert } from 'node:assert';
|
||||
import CLIENT_KILL, { CLIENT_KILL_FILTERS } from './CLIENT_KILL';
|
||||
|
||||
describe('CLIENT KILL', () => {
|
||||
describe('transformArguments', () => {
|
||||
it('ADDRESS', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.ADDRESS,
|
||||
address: 'ip:6379'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'ADDR', 'ip:6379']
|
||||
);
|
||||
});
|
||||
|
||||
it('LOCAL_ADDRESS', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.LOCAL_ADDRESS,
|
||||
localAddress: 'ip:6379'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'LADDR', 'ip:6379']
|
||||
);
|
||||
});
|
||||
|
||||
describe('ID', () => {
|
||||
it('string', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.ID,
|
||||
id: '1'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'ID', '1']
|
||||
);
|
||||
});
|
||||
|
||||
it('number', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.ID,
|
||||
id: 1
|
||||
}),
|
||||
['CLIENT', 'KILL', 'ID', '1']
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('TYPE', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.TYPE,
|
||||
type: 'master'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'TYPE', 'master']
|
||||
);
|
||||
});
|
||||
|
||||
it('USER', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.USER,
|
||||
username: 'username'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'USER', 'username']
|
||||
);
|
||||
});
|
||||
|
||||
it('MAXAGE', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.MAXAGE,
|
||||
maxAge: 10
|
||||
}),
|
||||
['CLIENT', 'KILL', 'MAXAGE', '10']
|
||||
);
|
||||
});
|
||||
|
||||
describe('SKIP_ME', () => {
|
||||
it('undefined', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments(ClientKillFilters.SKIP_ME),
|
||||
['CLIENT', 'KILL', 'SKIPME']
|
||||
);
|
||||
});
|
||||
|
||||
it('true', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.SKIP_ME,
|
||||
skipMe: true
|
||||
}),
|
||||
['CLIENT', 'KILL', 'SKIPME', 'yes']
|
||||
);
|
||||
});
|
||||
|
||||
it('false', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments({
|
||||
filter: ClientKillFilters.SKIP_ME,
|
||||
skipMe: false
|
||||
}),
|
||||
['CLIENT', 'KILL', 'SKIPME', 'no']
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('TYPE & SKIP_ME', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments([
|
||||
{
|
||||
filter: ClientKillFilters.TYPE,
|
||||
type: 'master'
|
||||
},
|
||||
ClientKillFilters.SKIP_ME
|
||||
]),
|
||||
['CLIENT', 'KILL', 'TYPE', 'master', 'SKIPME']
|
||||
);
|
||||
});
|
||||
describe('transformArguments', () => {
|
||||
it('ADDRESS', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.ADDRESS,
|
||||
address: 'ip:6379'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'ADDR', 'ip:6379']
|
||||
);
|
||||
});
|
||||
|
||||
it('LOCAL_ADDRESS', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.LOCAL_ADDRESS,
|
||||
localAddress: 'ip:6379'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'LADDR', 'ip:6379']
|
||||
);
|
||||
});
|
||||
|
||||
describe('ID', () => {
|
||||
it('string', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.ID,
|
||||
id: '1'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'ID', '1']
|
||||
);
|
||||
});
|
||||
|
||||
it('number', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.ID,
|
||||
id: 1
|
||||
}),
|
||||
['CLIENT', 'KILL', 'ID', '1']
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('TYPE', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.TYPE,
|
||||
type: 'master'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'TYPE', 'master']
|
||||
);
|
||||
});
|
||||
|
||||
it('USER', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.USER,
|
||||
username: 'username'
|
||||
}),
|
||||
['CLIENT', 'KILL', 'USER', 'username']
|
||||
);
|
||||
});
|
||||
|
||||
it('MAXAGE', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.MAXAGE,
|
||||
maxAge: 10
|
||||
}),
|
||||
['CLIENT', 'KILL', 'MAXAGE', '10']
|
||||
);
|
||||
});
|
||||
|
||||
describe('SKIP_ME', () => {
|
||||
it('undefined', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments(CLIENT_KILL_FILTERS.SKIP_ME),
|
||||
['CLIENT', 'KILL', 'SKIPME']
|
||||
);
|
||||
});
|
||||
|
||||
it('true', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.SKIP_ME,
|
||||
skipMe: true
|
||||
}),
|
||||
['CLIENT', 'KILL', 'SKIPME', 'yes']
|
||||
);
|
||||
});
|
||||
|
||||
it('false', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments({
|
||||
filter: CLIENT_KILL_FILTERS.SKIP_ME,
|
||||
skipMe: false
|
||||
}),
|
||||
['CLIENT', 'KILL', 'SKIPME', 'no']
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it('TYPE & SKIP_ME', () => {
|
||||
assert.deepEqual(
|
||||
CLIENT_KILL.transformArguments([
|
||||
{
|
||||
filter: CLIENT_KILL_FILTERS.TYPE,
|
||||
type: 'master'
|
||||
},
|
||||
CLIENT_KILL_FILTERS.SKIP_ME
|
||||
]),
|
||||
['CLIENT', 'KILL', 'TYPE', 'master', 'SKIPME']
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user