diff --git a/test/acceptance/multilayer.js b/test/acceptance/multilayer.js index e0b12507..e2fe35f3 100644 --- a/test/acceptance/multilayer.js +++ b/test/acceptance/multilayer.js @@ -1,10 +1,7 @@ var assert = require('../support/assert'); -var tests = module.exports = {}; var _ = require('underscore'); var redis = require('redis'); -var querystring = require('querystring'); -var semver = require('semver'); -var Step = require('step'); +var step = require('step'); var strftime = require('strftime'); var redis_stats_db = 5; @@ -16,9 +13,8 @@ var IMAGE_EQUALS_TOLERANCE_PER_MIL = 20; var IMAGE_EQUALS_HIGHER_TOLERANCE_PER_MIL = 25; var CartodbWindshaft = require(__dirname + '/../../lib/cartodb/cartodb_windshaft'); -var ServerOptions = require(__dirname + '/../../lib/cartodb/server_options'); -serverOptions = ServerOptions(); -var server = new CartodbWindshaft(serverOptions); +var serverOptions = require(__dirname + '/../../lib/cartodb/server_options'); +var server = new CartodbWindshaft(serverOptions()); server.setMaxListeners(0); ['/api/v1/map', '/u/localhost/api/v1/map'].forEach(function(layergroup_url) { @@ -26,7 +22,7 @@ server.setMaxListeners(0); var suiteName = 'multilayer:postgres=layergroup_url=' + layergroup_url; suite(suiteName, function() { - var cdbQueryTablesFromPostgresEnabledValue = true + var cdbQueryTablesFromPostgresEnabledValue = true; var redis_client = redis.createClient(global.environment.redis.port); var sqlapi_server; @@ -42,13 +38,15 @@ suite(suiteName, function() { version: '1.0.0', layers: [ { options: { - sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator from test_table limit 2', + sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator' + + ' from test_table limit 2', cartocss: '#layer { marker-fill:red; marker-width:32; marker-allow-overlap:true; }', cartocss_version: '2.0.1', interactivity: 'cartodb_id' } }, { options: { - sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, -5e6, 0) as the_geom_webmercator from test_table limit 2 offset 2', + sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, -5e6, 0) as the_geom_webmercator' + + ' from test_table limit 2 offset 2', cartocss: '#layer { marker-fill:blue; marker-allow-overlap:true; }', cartocss_version: '2.0.2', interactivity: 'cartodb_id' @@ -57,7 +55,7 @@ suite(suiteName, function() { }; var expected_token; // = "e34dd7e235138a062f8ba7ad051aa3a7"; - Step( + step( function do_post() { var next = this; @@ -69,14 +67,6 @@ suite(suiteName, function() { }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); var parsedBody = JSON.parse(res.body); - var expectedBody = { layergroupid: expected_token }; - // check last modified - var qTables = JSON.stringify({ - 'q': 'SELECT CDB_QueryTables($windshaft$' - + layergroup.layers[0].options.sql + ';' - + layergroup.layers[1].options.sql - + '$windshaft$)' - }); assert.equal(parsedBody.last_updated, expected_last_updated); if ( expected_token ) { assert.equal(parsedBody.layergroupid, expected_token + ':' + expected_last_updated_epoch); @@ -110,19 +100,23 @@ suite(suiteName, function() { if (!cdbQueryTablesFromPostgresEnabledValue) { // only test if it was using the SQL API var jsonquery = cc.substring(dbname.length + 1); var sentquery = JSON.parse(jsonquery); - var expectedQuery = [layergroup.layers[0].options.sql, ';', layergroup.layers[1].options.sql].join(''); - assert.equal(sentquery.q, 'WITH querytables AS ( SELECT * FROM CDB_QueryTables($windshaft$' - + expectedQuery - + '$windshaft$) as tablenames )' - + ' SELECT (SELECT tablenames FROM querytables), EXTRACT(EPOCH FROM max(updated_at)) as max' - + ' FROM CDB_TableMetadata m' - + ' WHERE m.tabname = any ((SELECT tablenames from querytables)::regclass[])'); + var expectedQuery = [ + layergroup.layers[0].options.sql, ';', + layergroup.layers[1].options.sql + ].join(''); + assert.equal(sentquery.q, 'WITH querytables AS ( SELECT * FROM CDB_QueryTables($windshaft$' + + expectedQuery + + '$windshaft$) as tablenames )' + + ' SELECT (SELECT tablenames FROM querytables), EXTRACT(EPOCH FROM max(updated_at)) as max' + + ' FROM CDB_TableMetadata m' + + ' WHERE m.tabname = any ((SELECT tablenames from querytables)::regclass[])'); } - assert.imageEqualsFile(res.body, 'test/fixtures/test_table_0_0_0_multilayer1.png', IMAGE_EQUALS_HIGHER_TOLERANCE_PER_MIL, - function(err, similarity) { - next(err); - }); + assert.imageEqualsFile(res.body, 'test/fixtures/test_table_0_0_0_multilayer1.png', + IMAGE_EQUALS_HIGHER_TOLERANCE_PER_MIL, function(err/*, similarity*/) { + next(err); + } + ); }); }, // See https://github.com/CartoDB/Windshaft-cartodb/issues/170 @@ -148,15 +142,14 @@ suite(suiteName, function() { if ( err ) throw err; var next = this; assert.response(server, { - url: layergroup_url + "/" + expected_token - + '/0/0/0/0.grid.json', + url: layergroup_url + "/" + expected_token + '/0/0/0/0.grid.json', headers: {host: 'localhost' }, method: 'GET' }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); assert.equal(res.headers['content-type'], "application/json; charset=utf-8"); assert.utfgridEqualsFile(res.body, 'test/fixtures/test_table_0_0_0_multilayer1.layer0.grid.json', 2, - function(err, similarity) { + function(err/*, similarity*/) { next(err); }); }); @@ -166,15 +159,14 @@ suite(suiteName, function() { if ( err ) throw err; var next = this; assert.response(server, { - url: layergroup_url + "/" + expected_token - + '/1/0/0/0.grid.json', + url: layergroup_url + "/" + expected_token + '/1/0/0/0.grid.json', headers: {host: 'localhost' }, method: 'GET' }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); assert.equal(res.headers['content-type'], "application/json; charset=utf-8"); assert.utfgridEqualsFile(res.body, 'test/fixtures/test_table_0_0_0_multilayer1.layer1.grid.json', 2, - function(err, similarity) { + function(err/*, similarity*/) { next(err); }); }); @@ -200,20 +192,20 @@ suite(suiteName, function() { test("should include serverMedata in the response", function(done) { - global.environment.serverMetadata = { cdn_url : { http:'test', https: 'tests' } } + global.environment.serverMetadata = { cdn_url : { http:'test', https: 'tests' } }; var layergroup = { version: '1.0.0', layers: [ { options: { - sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator from test_table limit 2', + sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator' + + ' from test_table limit 2', cartocss: '#layer { marker-fill:red; marker-width:32; marker-allow-overlap:true; }', cartocss_version: '2.0.1' } } ] }; - var expected_token; - Step( + step( function do_create_get() { var next = this; @@ -228,7 +220,7 @@ suite(suiteName, function() { assert.ok(_.isEqual(parsed.cdn_url, global.environment.serverMetadata.cdn_url)); done(); } - ) + ); }); @@ -238,7 +230,8 @@ suite(suiteName, function() { version: '1.0.0', layers: [ { options: { - sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator from test_table limit 2', + sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator' + + ' from test_table limit 2', cartocss: '#layer { marker-fill:red; marker-width:32; marker-allow-overlap:true; }', cartocss_version: '2.0.1' } } @@ -246,7 +239,7 @@ suite(suiteName, function() { }; var expected_token; - Step( + step( function do_create_get() { var next = this; @@ -310,7 +303,8 @@ suite(suiteName, function() { version: '1.0.0', layers: [ { options: { - sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator from test_table limit 2', + sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator' + + ' from test_table limit 2', cartocss: '#layer { invalid-rule:red; }', cartocss_version: '2.0.1' } } @@ -333,8 +327,8 @@ suite(suiteName, function() { version: '1.0.0', layers: [ { options: { - sql: 'select 1 as cartodb_id, ' - + 'ST_Buffer(!bbox!, -32*greatest(!pixel_width!,!pixel_height!)) as the_geom_webmercator from test_table limit 1', + sql: 'select 1 as cartodb_id, ST_Buffer(!bbox!, -32*greatest(!pixel_width!,!pixel_height!))' + + ' as the_geom_webmercator from test_table limit 1', cartocss: '#layer { polygon-fill:red; }', cartocss_version: '2.0.1', interactivity: 'cartodb_id' @@ -343,7 +337,7 @@ suite(suiteName, function() { }; var expected_token; // = "6d8e4ad5458e2d25cf0eef38e38717a6"; - Step( + step( function do_post() { var next = this; @@ -355,13 +349,6 @@ suite(suiteName, function() { }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); var parsedBody = JSON.parse(res.body); - var expectedBody = { layergroupid: expected_token }; - // check last modified - var qTables = JSON.stringify({ - 'q': 'SELECT CDB_QueryTables($windshaft$' - + layergroup.layers[0].options.sql - + '$windshaft$)' - }); assert.equal(parsedBody.last_updated, expected_last_updated); if ( expected_token ) { assert.equal(parsedBody.layergroupid, expected_token + ':' + expected_last_updated_epoch); @@ -395,16 +382,16 @@ suite(suiteName, function() { .replace(/!bbox!/g, 'ST_MakeEnvelope(0,0,0,0)') .replace(/!pixel_width!/g, '1') .replace(/!pixel_height!/g, '1'); - assert.equal(sentquery.q, 'WITH querytables AS ( SELECT * FROM CDB_QueryTables($windshaft$' - + expectedQuery - + '$windshaft$) as tablenames )' - + ' SELECT (SELECT tablenames FROM querytables), EXTRACT(EPOCH FROM max(updated_at)) as max' - + ' FROM CDB_TableMetadata m' - + ' WHERE m.tabname = any ((SELECT tablenames from querytables)::regclass[])'); + assert.equal(sentquery.q, 'WITH querytables AS ( SELECT * FROM CDB_QueryTables($windshaft$' + + expectedQuery + + '$windshaft$) as tablenames )' + + ' SELECT (SELECT tablenames FROM querytables), EXTRACT(EPOCH FROM max(updated_at)) as max' + + ' FROM CDB_TableMetadata m' + + ' WHERE m.tabname = any ((SELECT tablenames from querytables)::regclass[])'); } assert.imageEqualsFile(res.body, 'test/fixtures/test_multilayer_bbox.png', IMAGE_EQUALS_TOLERANCE_PER_MIL, - function(err, similarity) { + function(err/*, similarity*/) { next(err); }); }); @@ -434,16 +421,16 @@ suite(suiteName, function() { .replace('!bbox!', 'ST_MakeEnvelope(0,0,0,0)') .replace('!pixel_width!', '1') .replace('!pixel_height!', '1'); - assert.equal(sentquery.q, 'WITH querytables AS ( SELECT * FROM CDB_QueryTables($windshaft$' - + expectedQuery - + '$windshaft$) as tablenames )' - + ' SELECT (SELECT tablenames FROM querytables), EXTRACT(EPOCH FROM max(updated_at)) as max' - + ' FROM CDB_TableMetadata m' - + ' WHERE m.tabname = any ((SELECT tablenames from querytables)::regclass[])'); + assert.equal(sentquery.q, 'WITH querytables AS ( SELECT * FROM CDB_QueryTables($windshaft$' + + expectedQuery + + '$windshaft$) as tablenames )' + + ' SELECT (SELECT tablenames FROM querytables), EXTRACT(EPOCH FROM max(updated_at)) as max' + + ' FROM CDB_TableMetadata m' + + ' WHERE m.tabname = any ((SELECT tablenames from querytables)::regclass[])'); } assert.imageEqualsFile(res.body, 'test/fixtures/test_multilayer_bbox.png', IMAGE_EQUALS_TOLERANCE_PER_MIL, - function(err, similarity) { + function(err/*, similarity*/) { next(err); }); }); @@ -453,15 +440,14 @@ suite(suiteName, function() { if ( err ) throw err; var next = this; assert.response(server, { - url: layergroup_url + "/" + expected_token - + '/0/1/0/0.grid.json', + url: layergroup_url + "/" + expected_token + '/0/1/0/0.grid.json', headers: {host: 'localhost' }, method: 'GET' }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); assert.equal(res.headers['content-type'], "application/json; charset=utf-8"); assert.utfgridEqualsFile(res.body, 'test/fixtures/test_multilayer_bbox.grid.json', 2, - function(err, similarity) { + function(err/*, similarity*/) { next(err); }); }); @@ -471,15 +457,14 @@ suite(suiteName, function() { if ( err ) throw err; var next = this; assert.response(server, { - url: layergroup_url + "/" + expected_token - + '/0/4/0/0.grid.json', + url: layergroup_url + "/" + expected_token + '/0/4/0/0.grid.json', headers: {host: 'localhost' }, method: 'GET' }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); assert.equal(res.headers['content-type'], "application/json; charset=utf-8"); assert.utfgridEqualsFile(res.body, 'test/fixtures/test_multilayer_bbox.grid.json', 2, - function(err, similarity) { + function(err/*, similarity*/) { next(err); }); }); @@ -509,8 +494,8 @@ suite(suiteName, function() { version: '1.0.0', layers: [ { options: { - sql: 'select 1 as cartodb_id, !pixel_height! as h, ' - + 'ST_Buffer(!bbox!, -32*greatest(!pixel_width!,!pixel_height!)) as the_geom_webmercator', + sql: 'select 1 as cartodb_id, !pixel_height! as h,' + + ' ST_Buffer(!bbox!, -32*greatest(!pixel_width!,!pixel_height!)) as the_geom_webmercator', cartocss: '#layer { polygon-fill:red; }', cartocss_version: '2.0.1' } } @@ -521,7 +506,7 @@ suite(suiteName, function() { var expected_token; // will be set on first post and checked on second var now = strftime("%Y%m%d", new Date()); var errors = []; - Step( + step( function clean_stats() { var next = this; @@ -547,14 +532,13 @@ suite(suiteName, function() { }, function check_global_stats_1(err, val) { if ( err ) throw err; - assert.equal(val, 1, "Expected score of " + now + " in " - + statskey + ":global to be 1, got " + val); + assert.equal(val, 1, "Expected score of " + now + " in " + statskey + ":global to be 1, got " + val); redis_stats_client.zscore(statskey+':stat_tag:random_tag', now, this); }, function check_tag_stats_1_do_post_2(err, val) { if ( err ) throw err; - assert.equal(val, 1, "Expected score of " + now + " in " - + statskey + ":stat_tag:" + layergroup.stat_tag + " to be 1, got " + val); + assert.equal(val, 1, "Expected score of " + now + " in " + statskey + ":stat_tag:" + layergroup.stat_tag + + " to be 1, got " + val); var next = this; assert.response(server, { url: layergroup_url, @@ -570,15 +554,14 @@ suite(suiteName, function() { function check_global_stats_2(err, val) { if ( err ) throw err; - assert.equal(val, 2, "Expected score of " + now + " in " - + statskey + ":global to be 2, got " + val); + assert.equal(val, 2, "Expected score of " + now + " in " + statskey + ":global to be 2, got " + val); redis_stats_client.zscore(statskey+':stat_tag:' + layergroup.stat_tag, now, this); }, function check_tag_stats_2(err, val) { if ( err ) throw err; - assert.equal(val, 2, "Expected score of " + now + " in " - + statskey + ":stat_tag:" + layergroup.stat_tag + " to be 2, got " + val); + assert.equal(val, 2, "Expected score of " + now + " in " + statskey + ":stat_tag:" + layergroup.stat_tag + + " to be 2, got " + val); return 1; }, function cleanup_map_style(err) { @@ -608,8 +591,8 @@ suite(suiteName, function() { version: '1.0.0', layers: [ { options: { - sql: 'select 1 as cartodb_id, !pixel_height! as h' - + 'ST_Buffer(!bbox!, -32*greatest(!pixel_width!,!pixel_height!)) as the_geom_webmercator', + sql: 'select 1 as cartodb_id, !pixel_height! as h' + + 'ST_Buffer(!bbox!, -32*greatest(!pixel_width!,!pixel_height!)) as the_geom_webmercator', cartocss: '#layer { polygon-fit:red; }', cartocss_version: '2.0.1' } } @@ -679,7 +662,7 @@ suite(suiteName, function() { }; var expected_token; // = "b4ed64d93a411a59f330ab3d798e4009"; - Step( + step( function do_post() { var next = this; @@ -691,14 +674,6 @@ suite(suiteName, function() { }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); var parsedBody = JSON.parse(res.body); - var expectedBody = { layergroupid: expected_token }; - // check last modified - var qTables = JSON.stringify({ - 'q': 'SELECT CDB_QueryTables($windshaft$' - + layergroup.layers[0].options.sql + ';' - + layergroup.layers[1].options.sql - + '$windshaft$)' - }); assert.equal(parsedBody.last_updated, expected_last_updated); if ( expected_token ) { assert.equal(parsedBody.layergroupid, expected_token + ':' + expected_last_updated_epoch); @@ -733,8 +708,7 @@ suite(suiteName, function() { if ( err ) throw err; var next = this; assert.response(server, { - url: layergroup_url + "/" + expected_token - + '/0/0/0/0.grid.json?map_key=1234', + url: layergroup_url + "/" + expected_token + '/0/0/0/0.grid.json?map_key=1234', headers: {host: 'localhost' }, method: 'GET' }, {}, function(res) { @@ -747,8 +721,7 @@ suite(suiteName, function() { if ( err ) throw err; var next = this; assert.response(server, { - url: layergroup_url + "/" + expected_token - + '/1/0/0/0.grid.json?map_key=1234', + url: layergroup_url + "/" + expected_token + '/1/0/0/0.grid.json?map_key=1234', headers: {host: 'localhost' }, method: 'GET' }, {}, function(res) { @@ -768,7 +741,7 @@ suite(suiteName, function() { encoding: 'binary' }, {}, function(res) { assert.equal(res.statusCode, 403); - var re = RegExp('permission denied'); + var re = new RegExp('permission denied'); assert.ok(res.body.match(re), 'No "permission denied" error: ' + res.body); next(err); }); @@ -778,13 +751,12 @@ suite(suiteName, function() { if ( err ) throw err; var next = this; assert.response(server, { - url: layergroup_url + "/" + expected_token - + '/0/0/0/0.grid.json', + url: layergroup_url + "/" + expected_token + '/0/0/0/0.grid.json', headers: {host: 'localhost' }, method: 'GET' }, {}, function(res) { assert.equal(res.statusCode, 403); - var re = RegExp('permission denied'); + var re = new RegExp('permission denied'); assert.ok(res.body.match(re), 'No "permission denied" error: ' + res.body); next(err); }); @@ -794,13 +766,12 @@ suite(suiteName, function() { if ( err ) throw err; var next = this; assert.response(server, { - url: layergroup_url + "/" + expected_token - + '/1/0/0/0.grid.json', + url: layergroup_url + "/" + expected_token + '/1/0/0/0.grid.json', headers: {host: 'localhost' }, method: 'GET' }, {}, function(res) { assert.equal(res.statusCode, 403); - var re = RegExp('permission denied'); + var re = new RegExp('permission denied'); assert.ok(res.body.match(re), 'No "permission denied" error: ' + res.body); next(err); }); @@ -840,7 +811,7 @@ suite(suiteName, function() { }; var expected_token; // = "b4ed64d93a411a59f330ab3d798e4009"; - Step( + step( function do_post() { var next = this; @@ -855,13 +826,6 @@ suite(suiteName, function() { if ( err ) throw err; assert.equal(res.statusCode, 200, res.body); var parsedBody = JSON.parse(res.body); - var expectedBody = { layergroupid: expected_token }; - // check last modified - var qTables = JSON.stringify({ - 'q': 'SELECT CDB_QueryTables($windshaft$' - + layergroup.layers[0].options.sql - + '$windshaft$)' - }); assert.equal(parsedBody.last_updated, expected_last_updated); if ( expected_token ) { assert.equal(parsedBody.layergroupid, expected_token + ':' + expected_last_updated_epoch); @@ -892,11 +856,10 @@ suite(suiteName, function() { assert.equal(cc.substring(0, dbname.length), dbname); return null; }, - function do_restart_server(err, res) { + function do_restart_server(err/*, res*/) { if ( err ) throw err; // hack simulating restart... - serverOptions = ServerOptions(); - server = new CartodbWindshaft(serverOptions); + server = new CartodbWindshaft(serverOptions()); return null; }, function do_get1(err) @@ -950,7 +913,7 @@ suite(suiteName, function() { { options: { sql: "select 1 as cartodb_id, 'SRID=3857;POINT(0 0)'::geometry as the_geom_webmercator", cartocss: '#sample { text-name: cartodb_id; text-face-name: "Dejagnu"; }', - cartocss_version: '2.1.0', + cartocss_version: '2.1.0' } } ] }; @@ -978,12 +941,12 @@ suite(suiteName, function() { { options: { sql: "select 'single''quote' as n, 'SRID=3857;POINT(0 0)'::geometry as the_geom_webmercator", cartocss: '#s [n="single\'quote" ] { marker-fill:red; }', - cartocss_version: '2.1.0', + cartocss_version: '2.1.0' } }, { options: { sql: "select 'double\"quote' as n, 'SRID=3857;POINT(2 0)'::geometry as the_geom_webmercator", cartocss: '#s [n="double\\"quote" ] { marker-fill:red; }', - cartocss_version: '2.1.0', + cartocss_version: '2.1.0' } } ] }; @@ -1007,7 +970,7 @@ suite(suiteName, function() { { options: { sql: "select .4 as n, 'SRID=3857;POINT(0 0)'::geometry as the_geom_webmercator", cartocss: '#s [n<=.2e-2] { marker-fill:red; }', - cartocss_version: '2.1.0', + cartocss_version: '2.1.0' } } ] }; @@ -1035,7 +998,7 @@ suite(suiteName, function() { ] }; var expected_token; // = "e34dd7e235138a062f8ba7ad051aa3a7"; - Step( + step( function do_post() { var next = this; @@ -1047,7 +1010,6 @@ suite(suiteName, function() { }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); var parsedBody = JSON.parse(res.body); - var expectedBody = { layergroupid: expected_token }; if ( expected_token ) { assert.equal(parsedBody.layergroupid, expected_token + ':' + expected_last_updated_epoch); } @@ -1071,10 +1033,11 @@ suite(suiteName, function() { }, {}, function(res) { assert.equal(res.statusCode, 200, res.body); assert.equal(res.headers['content-type'], "image/png"); - assert.imageEqualsFile(res.body, windshaft_fixtures + '/test_default_mapnik_point.png', IMAGE_EQUALS_TOLERANCE_PER_MIL, - function(err, similarity) { - next(err); - }); + assert.imageEqualsFile(res.body, windshaft_fixtures + '/test_default_mapnik_point.png', + IMAGE_EQUALS_TOLERANCE_PER_MIL, function(err/*, similarity*/) { + next(err); + } + ); }); }, function finish(err) { @@ -1111,7 +1074,7 @@ suite(suiteName, function() { ] }; var expected_token; // = "e34dd7e235138a062f8ba7ad051aa3a7"; - Step( + step( function do_post() { var next = this; @@ -1150,7 +1113,6 @@ suite(suiteName, function() { }, function check_get_tile(err, res) { if ( err ) throw err; - var next = this; assert.equal(res.statusCode, 200, res.body); return null; }, @@ -1182,10 +1144,10 @@ suite(suiteName, function() { // See https://github.com/CartoDB/Windshaft-cartodb/issues/111 test("sql string can be very long", function(done){ var long_val = 'pretty'; - for (var i=0; i<1024; ++i) long_val += ' long' + for (var i=0; i<1024; ++i) long_val += ' long'; long_val += ' string'; var sql = "SELECT "; - for (var i=0; i<16; ++i) + for (i=0; i<16; ++i) sql += "'" + long_val + "'::text as pretty_long_field_name_" + i + ", "; sql += "cartodb_id, the_geom_webmercator FROM gadm4 g"; var layergroup = { @@ -1200,7 +1162,7 @@ suite(suiteName, function() { }; var errors = []; var expected_token; - Step( + step( function do_post() { var data = JSON.stringify(layergroup); @@ -1253,13 +1215,14 @@ suite(suiteName, function() { version: '1.0.0', layers: [ { options: { - sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator from test_table limit 2', + sql: 'select cartodb_id, ST_Translate(the_geom_webmercator, 5e6, 0) as the_geom_webmercator' + + ' from test_table limit 2', interactivity: 'cartodb_id' } } ] }; - Step( + step( function do_post() { var next = this; @@ -1301,7 +1264,7 @@ suite(suiteName, function() { ] }; - Step( + step( function do_post() { var next = this; @@ -1409,7 +1372,7 @@ suite(suiteName, function() { { status: 403 }, - function(res, err) { + function(res) { assert.ok(res.body.match(/permission denied for relation test_table_private_1/)); done(); } @@ -1422,10 +1385,10 @@ suite(suiteName, function() { // 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(err) { - redis_client.select(5, 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(err) { + redis_client.del(matches, function() { done(); }); }); diff --git a/test/acceptance/server.js b/test/acceptance/server.js index 84ad2b1e..ee6144ef 100644 --- a/test/acceptance/server.js +++ b/test/acceptance/server.js @@ -88,9 +88,9 @@ suite.skip('server old_api', function() { var default_style; if ( semver.satisfies(mapnik_version, '<2.1.0') ) { // 2.0.0 default - default_style = '#<%= table %>{marker-fill: #FF6600;marker-opacity: 1;marker-width: 8;marker-line-color: white;' + - 'marker-line-width: 3;marker-line-opacity: 0.9;marker-placement: point;marker-type: ' + - 'ellipse;marker-allow-overlap: true;}'; + default_style = '#<%= table %>{marker-fill: #FF6600;marker-opacity: 1;marker-width: 8;' + + 'marker-line-color: white;marker-line-width: 3;marker-line-opacity: 0.9;marker-placement: point;' + + 'marker-type: ellipse;marker-allow-overlap: true;}'; } else if ( semver.satisfies(mapnik_version, '<2.2.0') ) { // 2.1.0 default