diff --git a/config/environments/test.js.example b/config/environments/test.js.example index f5a3a77d..883e9981 100644 --- a/config/environments/test.js.example +++ b/config/environments/test.js.example @@ -38,10 +38,10 @@ var config = { ,log_format: '[:date] :req[X-Real-IP] :method :req[Host]:url :status :response-time ms -> :res[Content-Type] (:res[X-Tiler-Profiler])' // Templated database username for authorized user // Supported labels: 'user_id' (read from redis) - ,postgres_auth_user: 'test_cartodb_user_<%= user_id %>' + ,postgres_auth_user: 'test_windshaft_cartodb_user_<%= user_id %>' // Templated database password for authorized user // Supported labels: 'user_id', 'user_password' (both read from redis) - ,postgres_auth_pass: 'test_cartodb_user_<%= user_id %>_pass' + ,postgres_auth_pass: 'test_windshaft_cartodb_user_<%= user_id %>_pass' ,postgres: { // Parameters to pass to datasource plugin of mapnik // See http://github.com/mapnik/mapnik/wiki/PostGIS diff --git a/test/acceptance/multilayer.js b/test/acceptance/multilayer.js index 78519a4d..716c965d 100644 --- a/test/acceptance/multilayer.js +++ b/test/acceptance/multilayer.js @@ -35,6 +35,10 @@ suite('multilayer', function() { var expected_last_updated_epoch = 1234567890123; // this is hard-coded into SQLAPIEmu var expected_last_updated = new Date(expected_last_updated_epoch).toISOString(); + var test_user = _.template(global.environment.postgres_auth_user, {user_id:1}); + var test_pubuser = global.environment.postgres.user; + var test_database = test_user + '_db'; + suiteSetup(function(done){ sqlapi_server = new SQLAPIEmu(global.environment.sqlapi.port, done); }); @@ -108,7 +112,7 @@ suite('multilayer', function() { // Check X-Cache-Channel cc = res.headers['x-cache-channel']; assert.ok(cc); - var dbname = 'test_cartodb_user_1_db' + var dbname = test_database; assert.equal(cc.substring(0, dbname.length), dbname); var jsonquery = cc.substring(dbname.length+1); var sentquery = JSON.parse(jsonquery); @@ -238,7 +242,7 @@ suite('multilayer', function() { // Check X-Cache-Channel var cc = res.headers['x-cache-channel']; assert.ok(cc); - var dbname = 'test_cartodb_user_1_db' + var dbname = test_database; assert.equal(cc.substring(0, dbname.length), dbname); var jsonquery = cc.substring(dbname.length+1); var sentquery = JSON.parse(jsonquery); @@ -271,7 +275,7 @@ suite('multilayer', function() { // Check X-Cache-Channel var cc = res.headers['x-cache-channel']; assert.ok(cc); - var dbname = 'test_cartodb_user_1_db' + var dbname = test_database; assert.equal(cc.substring(0, dbname.length), dbname); var jsonquery = cc.substring(dbname.length+1); var sentquery = JSON.parse(jsonquery); @@ -563,7 +567,7 @@ suite('multilayer', function() { // Check X-Cache-Channel var cc = res.headers['x-cache-channel']; assert.ok(cc); - var dbname = 'test_cartodb_user_1_db' + var dbname = test_database; assert.equal(cc.substring(0, dbname.length), dbname); next(err); }); @@ -728,7 +732,7 @@ suite('multilayer', function() { // Check X-Cache-Channel var cc = res.headers['x-cache-channel']; assert.ok(cc, "Missing X-Cache-Channel"); - var dbname = 'test_cartodb_user_1_db' + var dbname = test_database; assert.equal(cc.substring(0, dbname.length), dbname); return null; }, @@ -758,7 +762,7 @@ suite('multilayer', function() { // Check X-Cache-Channel var cc = res.headers['x-cache-channel']; assert.ok(cc, "Missing X-Cache-Channel on restart"); - var dbname = 'test_cartodb_user_1_db' + var dbname = test_database; assert.equal(cc.substring(0, dbname.length), dbname); return null; }, diff --git a/test/acceptance/server.js b/test/acceptance/server.js index 9a0a2ee5..8806953a 100644 --- a/test/acceptance/server.js +++ b/test/acceptance/server.js @@ -22,7 +22,7 @@ suite('server', function() { var sqlapi_server; var mapnik_version = global.environment.mapnik_version || mapnik.versions.mapnik; - var test_database = 'test_cartodb_user_1_db'; + var test_database = _.template(global.environment.postgres_auth_user, {user_id:1}) + '_db'; var default_style; if ( semver.satisfies(mapnik_version, '<2.1.0') ) { // 2.0.0 default @@ -1112,7 +1112,7 @@ suite('server', function() { assert.equal(ct, 'image/png'); var cc = res.headers['x-cache-channel']; assert(cc, 'Missing X-Cache-Channel'); - var dbname = 'test_cartodb_user_1_db' + var dbname = test_database; assert.equal(cc.substring(0, dbname.length), dbname); var jsonquery = cc.substring(dbname.length+1); var sentquery = JSON.parse(jsonquery); diff --git a/test/unit/cartodb/req2params.test.js b/test/unit/cartodb/req2params.test.js index 163b72c0..90b96169 100644 --- a/test/unit/cartodb/req2params.test.js +++ b/test/unit/cartodb/req2params.test.js @@ -8,6 +8,11 @@ suite('req2params', function() { // configure redis pool instance to use in tests var opts = require('../../../lib/cartodb/server_options')(); + + var test_user = _.template(global.environment.postgres_auth_user, {user_id:1}); + var test_pubuser = global.environment.postgres.user; + var test_database = test_user + '_db'; + test('can be found in server_options', function(){ assert.ok(_.isFunction(opts.req2params)); @@ -20,8 +25,8 @@ suite('req2params', function() { assert.ok(!req.query.hasOwnProperty('dbuser'), 'dbuser was removed from query'); assert.ok(req.hasOwnProperty('params'), 'request has params'); assert.ok(req.params.hasOwnProperty('interactivity'), 'request params have interactivity'); - assert.equal(req.params.dbname, 'test_cartodb_user_1_db', 'could forge dbname: '+ req.params.dbname); - assert.ok(req.params.dbuser === 'testpublicuser', 'could inject dbuser ('+req.params.dbuser+')'); + assert.equal(req.params.dbname, test_database, 'could forge dbname: '+ req.params.dbname); + assert.ok(req.params.dbuser === test_pubuser, 'could inject dbuser ('+req.params.dbuser+')'); done(); }); }); @@ -34,10 +39,8 @@ suite('req2params', function() { assert.ok(!req.query.hasOwnProperty('dbuser'), 'dbuser was removed from query'); assert.ok(req.hasOwnProperty('params'), 'request has params'); assert.ok(req.params.hasOwnProperty('interactivity'), 'request params have interactivity'); - // database_name for user "localhost" (see test/support/prepare_db.sh) - assert.equal(req.params.dbname, 'test_cartodb_user_1_db'); - // unauthenticated request gets no dbuser - assert.ok(req.params.dbuser === 'testpublicuser', 'could inject dbuser ('+req.params.dbuser+')'); + assert.equal(req.params.dbname, test_database); + assert.ok(req.params.dbuser === test_pubuser, 'could inject dbuser ('+req.params.dbuser+')'); done(); }); }); @@ -50,14 +53,12 @@ suite('req2params', function() { assert.ok(!req.query.hasOwnProperty('dbuser'), 'dbuser was removed from query'); assert.ok(req.hasOwnProperty('params'), 'request has params'); assert.ok(req.params.hasOwnProperty('interactivity'), 'request params have interactivity'); - // database_name for user "localhost" (see test/support/prepare_db.sh) - assert.equal(req.params.dbname, 'test_cartodb_user_1_db'); - // id for user "localhost" (see test/support/prepare_db.sh) - assert.equal(req.params.dbuser, 'test_cartodb_user_1'); + assert.equal(req.params.dbname, test_database); + assert.equal(req.params.dbuser, test_user); opts.req2params({headers: { host:'localhost' }, query: {map_key: '1235'} }, function(err, req) { // wrong key resets params to no user - assert.ok(req.params.dbuser === 'testpublicuser', 'could inject dbuser ('+req.params.dbuser+')'); + assert.ok(req.params.dbuser === test_pubuser, 'could inject dbuser ('+req.params.dbuser+')'); done(); }); });