Check there is no unexepcted keys on redis after tests
This commit is contained in:
@@ -22,7 +22,7 @@ describe('tests from old api translated to multilayer', function() {
|
||||
// 'map_style|null|publicuser|my_table',
|
||||
redisClient.keys("map_style|*", function(err, matches) {
|
||||
redisClient.del(matches, function() {
|
||||
done();
|
||||
testHelper.deleteRedisKeys({ 'user:cartodb250user:mapviews:global': 5 }, done);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require('../support/test_helper');
|
||||
var testHelper = require('../support/test_helper');
|
||||
|
||||
var assert = require('../support/assert');
|
||||
var qs = require('querystring');
|
||||
@@ -106,6 +106,13 @@ describe('get requests x-cache-channel', function() {
|
||||
|
||||
describe('header should be present', function() {
|
||||
|
||||
after(function(done) {
|
||||
testHelper.deleteRedisKeys({
|
||||
'map_cfg|a181ac96fac6d2b315dda88bc0bfa6cd': 0,
|
||||
'user:localhost:mapviews:global': 5
|
||||
}, done);
|
||||
});
|
||||
|
||||
it('/api/v1/map Map instantiation', function(done) {
|
||||
assert.response(
|
||||
server,
|
||||
|
||||
+61
-13
@@ -57,22 +57,70 @@ function checkSurrogateKey(res, expectedKey) {
|
||||
}
|
||||
|
||||
//var _ = require('underscore');
|
||||
//var redis = require('redis');
|
||||
// global afterEach to capture tests that leave keys in redis
|
||||
//afterEach(function(done) {
|
||||
// var redisClient = redis.createClient(global.environment.redis.port);
|
||||
// // Check that we start with an empty redis db
|
||||
// redisClient.keys("*", function(err, keys) {
|
||||
// if ( err ) {
|
||||
// return done(err);
|
||||
// }
|
||||
// assert.equal(keys.length, 0, "test left objects in redis:\n" + keys.join("\n"));
|
||||
// redisClient.flushall(done);
|
||||
// });
|
||||
//});
|
||||
var redis = require('redis');
|
||||
//global after to capture test suites that leave keys in redis
|
||||
after(function(done) {
|
||||
var expectedKeys = {
|
||||
'rails:test_windshaft_cartodb_user_1_db:test_table_private_1': true,
|
||||
'rails:test_windshaft_cartodb_user_1_db:my_table': true,
|
||||
'rails:users:localhost:map_key': true,
|
||||
'rails:users:cartodb250user': true,
|
||||
'rails:users:localhost': true
|
||||
};
|
||||
var databasesTasks = { 0: 'users', 5: 'meta'};
|
||||
|
||||
var keysFound = [];
|
||||
function taskDone(err, db, keys) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
delete databasesTasks[db];
|
||||
keys.forEach(function(k) {
|
||||
if (!expectedKeys[k]) {
|
||||
keysFound.push(k);
|
||||
}
|
||||
});
|
||||
|
||||
if (Object.keys(databasesTasks).length === 0) {
|
||||
assert.equal(keysFound.length, 0, 'Unexpected keys found in redis: ' + keysFound.join(', '));
|
||||
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) {
|
||||
return taskDone(err, db, keys);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function deleteRedisKeys(keysToDelete, callback) {
|
||||
|
||||
function taskDone(k) {
|
||||
delete keysToDelete[k];
|
||||
if (Object.keys(keysToDelete).length === 0) {
|
||||
callback();
|
||||
}
|
||||
}
|
||||
|
||||
Object.keys(keysToDelete).forEach(function(k) {
|
||||
var redisClient = redis.createClient(global.environment.redis.port);
|
||||
redisClient.select(keysToDelete[k], function() {
|
||||
redisClient.del(k, function() {
|
||||
taskDone(k);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
deleteRedisKeys: deleteRedisKeys,
|
||||
lzma_compress_to_base64: lzma_compress_to_base64,
|
||||
checkNoCache: checkNoCache,
|
||||
checkSurrogateKey: checkSurrogateKey,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require('../../support/test_helper');
|
||||
var testHelper = require('../../support/test_helper');
|
||||
|
||||
var assert = require('assert');
|
||||
var RedisPool = require('redis-mpool');
|
||||
@@ -11,6 +11,13 @@ describe('template_maps', function() {
|
||||
// configure redis pool instance to use in tests
|
||||
var redis_pool = new RedisPool(global.environment.redis);
|
||||
|
||||
after(function(done) {
|
||||
testHelper.deleteRedisKeys({
|
||||
'map_tpl|me': 0,
|
||||
'map_tpl|you': 0
|
||||
}, done);
|
||||
});
|
||||
|
||||
var wadusLayer = {
|
||||
options: {
|
||||
sql: 'select 1 cartodb_id, null::geometry the_geom_webmercator',
|
||||
|
||||
Reference in New Issue
Block a user