From dd8340b400d29aacabcd10985e4c914ac03dcd4e Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Mon, 22 Feb 2016 17:51:53 +0100 Subject: [PATCH] Do not leak redis connections Reuse redis client in afterEach and quit client in function --- test/support/test_helper.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/support/test_helper.js b/test/support/test_helper.js index e44916fd..e1e64cbc 100644 --- a/test/support/test_helper.js +++ b/test/support/test_helper.js @@ -66,6 +66,14 @@ function checkSurrogateKey(res, expectedKey) { assert.equal(res.headers['surrogate-key'], expectedKey); } +var redisClient; + +beforeEach(function() { + if (!redisClient) { + redisClient = redis.createClient(global.environment.redis.port); + } +}); + //global afterEach to capture test suites that leave keys in redis afterEach(function(done) { @@ -102,7 +110,6 @@ afterEach(function(done) { } Object.keys(databasesTasks).forEach(function(db) { - var redisClient = redis.createClient(global.environment.redis.port); redisClient.select(db, function() { // Check that we start with an empty redis db redisClient.keys("*", function(err, keys) { @@ -129,6 +136,7 @@ function deleteRedisKeys(keysToDelete, callback) { var redisClient = redis.createClient(global.environment.redis.port); redisClient.select(keysToDelete[k], function() { redisClient.del(k, function(err, deletedKeysCount) { + redisClient.quit(); assert.notStrictEqual(deletedKeysCount, 0, 'No KEYS deleted for: [db=' + keysToDelete[k] + ']' + k); taskDone(k); });