diff --git a/test/acceptance/multilayer.js b/test/acceptance/multilayer.js index 93d36b35..19c0347c 100644 --- a/test/acceptance/multilayer.js +++ b/test/acceptance/multilayer.js @@ -6,6 +6,7 @@ var strftime = require('strftime'); var redis_stats_db = 5; var helper = require(__dirname + '/../support/test_helper'); +var LayergroupToken = require('../../lib/cartodb/models/layergroup_token'); var windshaft_fixtures = __dirname + '/../../node_modules/windshaft/test/fixtures'; @@ -24,6 +25,19 @@ var TablesCacheEntry = require('../../lib/cartodb/cache/model/database_tables_en var suiteName = 'multilayer:postgres=layergroup_url=' + layergroup_url; describe(suiteName, function() { + + var keysToDelete; + + beforeEach(function() { + keysToDelete = { + 'user:localhost:mapviews:global': 5 + }; + }); + + afterEach(function(done) { + helper.deleteRedisKeys(keysToDelete, done); + }); + var cdbQueryTablesFromPostgresEnabledValue = true; var redis_client = redis.createClient(global.environment.redis.port); @@ -70,7 +84,7 @@ describe(suiteName, function() { var parsedBody = JSON.parse(res.body); assert.equal(parsedBody.last_updated, expected_last_updated); assert.equal(res.headers['x-layergroup-id'], parsedBody.layergroupid); - expected_token = parsedBody.layergroupid.split(':')[0]; + expected_token = parsedBody.layergroupid; next(null, res); }); }, @@ -171,27 +185,8 @@ describe(suiteName, function() { }); }, function finish(err) { - var errors = []; - if ( err ) { - errors.push(err.message); - } - redis_client.keys("map_cfg|" + expected_token, function(err, matches) { - if ( err ) { - errors.push(err.message); - } - assert.equal(matches.length, 1, "Missing expected token " + expected_token + " from redis: " + matches); - redis_client.del(matches, function(err) { - if ( err ) { - errors.push(err.message); - } - if ( errors.length ) { - done(new Error(errors)); - } - else { - done(null); - } - }); - }); + keysToDelete['map_cfg|' + LayergroupToken.parse(expected_token).token] = 0; + done(err); } ); }); @@ -223,6 +218,7 @@ describe(suiteName, function() { }, function do_check_create(err, res) { var parsed = JSON.parse(res.body); + keysToDelete['map_cfg|' + LayergroupToken.parse(parsed.layergroupid).token] = 0; assert.ok(_.isEqual(parsed.cdn_url, global.environment.serverMetadata.cdn_url)); done(); } @@ -615,7 +611,8 @@ describe(suiteName, function() { if ( err ) { errors.push('' + err); } - redis_client.del([statskey+':global', statskey+':stat_tag:'+layergroup.stat_tag], this); + keysToDelete[statskey+':stat_tag:'+layergroup.stat_tag] = 5; + return null; }, function finish(err) { if ( err ) { @@ -1022,6 +1019,7 @@ describe(suiteName, function() { data: JSON.stringify(layergroup) }, {}, function(res) { assert.equal(res.statusCode, 200, res.statusCode + ': ' + res.body); + keysToDelete['map_cfg|' + LayergroupToken.parse(JSON.parse(res.body).layergroupid).token] = 0; done(); }); }); @@ -1045,6 +1043,7 @@ describe(suiteName, function() { data: JSON.stringify(layergroup) }, {}, function(res) { assert.equal(res.statusCode, 200, res.statusCode + ': ' + res.body); + keysToDelete['map_cfg|' + LayergroupToken.parse(JSON.parse(res.body).layergroupid).token] = 0; done(); }); }); @@ -1413,6 +1412,7 @@ describe(suiteName, function() { assert.response(server, layergroupTtlRequest, layergroupTtlResponseExpectation, function(res) { assert.equal(res.headers['cache-control'], 'public,max-age=86400,must-revalidate'); + keysToDelete['map_cfg|' + LayergroupToken.parse(JSON.parse(res.body).layergroupid).token] = 0; done(); } @@ -1426,6 +1426,7 @@ describe(suiteName, function() { assert.response(server, layergroupTtlRequest, layergroupTtlResponseExpectation, function(res) { assert.equal(res.headers['cache-control'], 'public,max-age=' + layergroupTtl + ',must-revalidate'); + keysToDelete['map_cfg|' + LayergroupToken.parse(JSON.parse(res.body).layergroupid).token] = 0; done(); } @@ -1475,25 +1476,6 @@ describe(suiteName, function() { } ); }); - - - after(function(done) { - - // This test will add map_style records, like - // 'map_style|null|publicuser|my_table', - redis_client.keys("map_style|*", function(err, matches) { - redis_client.del(matches, function() { - redis_client.select(5, function() { - redis_client.keys("user:localhost:mapviews*", function(err, matches) { - redis_client.del(matches, function() { - done(); - }); - }); - }); - }); - }); - - }); });