1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

Fix auth regression

Fixes #1028
This commit is contained in:
Ruben Bridgewater
2016-04-13 04:07:25 +02:00
parent aff765adf0
commit a9d565b8f4
3 changed files with 6 additions and 4 deletions

View File

@@ -269,7 +269,9 @@ RedisClient.prototype.create_stream = function () {
// Fire the command before redis is connected to be sure it's the first fired command // Fire the command before redis is connected to be sure it's the first fired command
if (this.auth_pass !== undefined) { if (this.auth_pass !== undefined) {
this.ready = true;
this.auth(this.auth_pass); this.auth(this.auth_pass);
this.ready = false;
} }
}; };

View File

@@ -149,7 +149,7 @@ RedisClient.prototype.auth = RedisClient.prototype.AUTH = function auth (pass, c
// Stash auth for connect and reconnect. // Stash auth for connect and reconnect.
this.auth_pass = pass; this.auth_pass = pass;
this.ready = this.offline_queue.length === 0; // keep the execution order intakt this.ready = ready || this.offline_queue.length === 0; // keep the execution order intakt
var tmp = this.internal_send_command('auth', [pass], function (err, res) { var tmp = this.internal_send_command('auth', [pass], function (err, res) {
if (err) { if (err) {
if (no_password_is_set.test(err.message)) { if (no_password_is_set.test(err.message)) {

View File

@@ -160,7 +160,7 @@ describe('client authentication', function () {
client.on('ready', done); client.on('ready', done);
}); });
it('reconnects with appropriate authentication', function (done) { it('reconnects with appropriate authentication while offline commands are present', function (done) {
if (helper.redisProcess().spawnFailed()) this.skip(); if (helper.redisProcess().spawnFailed()) this.skip();
client = redis.createClient.apply(null, args); client = redis.createClient.apply(null, args);
@@ -187,7 +187,7 @@ describe('client authentication', function () {
}); });
}); });
it('should return an error if the password is not of type string and a callback has been provided', function (done) { it('should return an error if the password is not correct and a callback has been provided', function (done) {
if (helper.redisProcess().spawnFailed()) this.skip(); if (helper.redisProcess().spawnFailed()) this.skip();
client = redis.createClient.apply(null, args); client = redis.createClient.apply(null, args);
@@ -202,7 +202,7 @@ describe('client authentication', function () {
assert(async); assert(async);
}); });
it('should emit an error if the password is not of type string and no callback has been provided', function (done) { it('should emit an error if the password is not correct and no callback has been provided', function (done) {
if (helper.redisProcess().spawnFailed()) this.skip(); if (helper.redisProcess().spawnFailed()) this.skip();
client = redis.createClient.apply(null, args); client = redis.createClient.apply(null, args);