From 2736b93c69c5b68a2a52d426026ae88f87787eb0 Mon Sep 17 00:00:00 2001 From: Raul Ochoa Date: Thu, 5 Feb 2015 16:46:56 +0100 Subject: [PATCH] test to validate it's not possible to override authorization with a crafted layergroup --- test/acceptance/multilayer.js | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/test/acceptance/multilayer.js b/test/acceptance/multilayer.js index 64066a39..aff420d4 100644 --- a/test/acceptance/multilayer.js +++ b/test/acceptance/multilayer.js @@ -1368,6 +1368,50 @@ suite('multilayer:postgres=' + cdbQueryTablesFromPostgresEnabledValue, function( }); + test("it's not possible to override authorization with a crafted layergroup", function(done) { + + var layergroup = { + version: '1.0.0', + layers: [ + { + options: { + sql: 'select * from test_table_private_1', + cartocss: '#layer { marker-fill:red; }', + cartocss_version: '2.3.0', + interactivity: 'cartodb_id' + } + } + ], + template: { + auth: { + method: "open" + }, + name: "open" + } + }; + + assert.response( + server, + { + url: '/api/v1/map?signer=localhost', + method: 'POST', + headers: { + host: 'localhost', + 'Content-Type': 'application/json' + }, + data: JSON.stringify(layergroup) + }, + { + status: 403 + }, + function(res, err) { + assert.ok(res.body.match(/permission denied for relation test_table_private_1/)); + done(); + } + ); + }); + + suiteTeardown(function(done) { // This test will add map_style records, like