You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
More tests for different MULTI syntax.
This commit is contained in:
96
test.js
96
test.js
@@ -90,21 +90,23 @@ tests.HSET = function () {
|
|||||||
};
|
};
|
||||||
|
|
||||||
tests.MULTI_1 = function () {
|
tests.MULTI_1 = function () {
|
||||||
var name = "MULTI_1";
|
var name = "MULTI_1", multi1, multi2;
|
||||||
|
|
||||||
// Provoke an error at queue time
|
// Provoke an error at queue time
|
||||||
client.multi([
|
multi1 = client.multi();
|
||||||
["mset", ["multifoo", "10", "multibar", "20"], require_string("OK", name)],
|
multi1.mset("multifoo", "10", "multibar", "20", require_string("OK", name));
|
||||||
["set", ["foo2"], require_error(name)],
|
multi1.set("foo2", require_error(name));
|
||||||
["incr", ["multifoo"], require_number(11, name)],
|
multi1.incr("multifoo", require_number(11, name));
|
||||||
["incr", ["multibar"], require_number(21, name)]
|
multi1.incr("multibar", require_number(21, name));
|
||||||
]);
|
multi1.exec();
|
||||||
|
|
||||||
// Confirm that the previous command, while containing an error, still worked.
|
// Confirm that the previous command, while containing an error, still worked.
|
||||||
client.multi([
|
multi2 = client.multi();
|
||||||
["incr", ["multibar"], require_number(22, name)],
|
multi2.incr("multibar", require_number(22, name));
|
||||||
["incr", ["multifoo"], last(name, require_number(12, name))]
|
multi2.incr("multifoo", require_number(12, name));
|
||||||
]);
|
multi2.exec(function (err, reply) {
|
||||||
|
next(name);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
tests.MULTI_2 = function () {
|
tests.MULTI_2 = function () {
|
||||||
@@ -112,15 +114,15 @@ tests.MULTI_2 = function () {
|
|||||||
|
|
||||||
// test nested multi-bulk replies
|
// test nested multi-bulk replies
|
||||||
client.multi([
|
client.multi([
|
||||||
["mget", ["multifoo", "multibar"], function (err, res) {
|
["mget", "multifoo", "multibar", function (err, res) {
|
||||||
assert.strictEqual(2, res.length, name);
|
assert.strictEqual(2, res.length, name);
|
||||||
assert.strictEqual("12", res[0].toString(), name);
|
assert.strictEqual("12", res[0].toString(), name);
|
||||||
assert.strictEqual("22", res[1].toString(), name);
|
assert.strictEqual("22", res[1].toString(), name);
|
||||||
}],
|
}],
|
||||||
["set", ["foo2"], require_error(name)],
|
["set", "foo2", require_error(name)],
|
||||||
["incr", ["multifoo"], require_number(13, name)],
|
["incr", "multifoo", require_number(13, name)],
|
||||||
["incr", ["multibar"], require_number(23, name)]
|
["incr", "multibar", require_number(23, name)]
|
||||||
], function (replies) {
|
]).exec(function (err, replies) {
|
||||||
next(name);
|
next(name);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -135,15 +137,36 @@ tests.MULTI_3 = function () {
|
|||||||
|
|
||||||
// test nested multi-bulk replies with nulls.
|
// test nested multi-bulk replies with nulls.
|
||||||
client.multi([
|
client.multi([
|
||||||
["smembers", ["some set"]],
|
["smembers", "some set"],
|
||||||
["del", ["some set"]],
|
["del", "some set"],
|
||||||
["smembers", ["some set"]],
|
["smembers", "some set"],
|
||||||
], function (replies) {
|
])
|
||||||
|
.scard("some set")
|
||||||
|
.exec(function (err, replies) {
|
||||||
assert.strictEqual(replies[2][0], null, name);
|
assert.strictEqual(replies[2][0], null, name);
|
||||||
next(name);
|
next(name);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
tests.MULTI_4 = function () {
|
||||||
|
var name = "MULTI_4";
|
||||||
|
|
||||||
|
client.multi()
|
||||||
|
.mset('some', '10', 'keys', '20')
|
||||||
|
.incr('some')
|
||||||
|
.incr('keys')
|
||||||
|
.mget('some', 'keys')
|
||||||
|
.exec(function(err, replies){
|
||||||
|
assert.strictEqual(null, err);
|
||||||
|
assert.equal('OK', replies[0]);
|
||||||
|
assert.equal(11, replies[1]);
|
||||||
|
assert.equal(21, replies[2]);
|
||||||
|
assert.equal(11, replies[3][0].toString());
|
||||||
|
assert.equal(21, replies[3][1].toString());
|
||||||
|
next(name);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
tests.HMGET = function () {
|
tests.HMGET = function () {
|
||||||
var key = "test hash", name = "HMGET";
|
var key = "test hash", name = "HMGET";
|
||||||
|
|
||||||
@@ -353,39 +376,6 @@ tests.MSETNX = function () {
|
|||||||
client.exists(["mset4"], last(name, require_number(1, name)));
|
client.exists(["mset4"], last(name, require_number(1, name)));
|
||||||
};
|
};
|
||||||
|
|
||||||
tests.MULTI_4 = function () {
|
|
||||||
var name = "MULTI_4";
|
|
||||||
|
|
||||||
client.multi
|
|
||||||
.mset('some', '10', 'keys', '20')
|
|
||||||
.incr('some')
|
|
||||||
.incr('keys')
|
|
||||||
.mget('some', 'keys')
|
|
||||||
.exec(function(err, replies){
|
|
||||||
assert.strictEqual(null, err);
|
|
||||||
assert.equal('OK', replies[0]);
|
|
||||||
assert.equal(11, replies[1]);
|
|
||||||
assert.equal(21, replies[2]);
|
|
||||||
assert.equal(11, replies[3][0].toString());
|
|
||||||
assert.equal(21, replies[3][1].toString());
|
|
||||||
next(name);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
tests.MULTI_ERROR = function () {
|
|
||||||
var name = "MULTI_ERROR";
|
|
||||||
|
|
||||||
client
|
|
||||||
.multi
|
|
||||||
.set('something', 'amazing')
|
|
||||||
.set('invalid')
|
|
||||||
.exec(function(err, replies){
|
|
||||||
assert.equal("ERR wrong number of arguments for 'set' command", err.message);
|
|
||||||
assert.strictEqual(undefined, replies);
|
|
||||||
next(name);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
tests.HGETALL = function () {
|
tests.HGETALL = function () {
|
||||||
var name = "HGETALL";
|
var name = "HGETALL";
|
||||||
client.hmset(["hosts", "mjr", "1", "another", "23", "home", "1234"], require_string("OK", name));
|
client.hmset(["hosts", "mjr", "1", "another", "23", "home", "1234"], require_string("OK", name));
|
||||||
|
Reference in New Issue
Block a user