diff --git a/test/acceptance/named_layers.js b/test/acceptance/named_layers.js index e9e1c2b2..0842305c 100644 --- a/test/acceptance/named_layers.js +++ b/test/acceptance/named_layers.js @@ -25,8 +25,6 @@ suite('template_maps', function() { max_user_templates: global.environment.maxUserTemplates }); - var mapConfigNamedLayersAdapter = new MapConfigNamedLayersAdapter(templateMaps); - var wadusLayer = { type: 'cartodb', options: { @@ -103,19 +101,6 @@ suite('template_maps', function() { } }; - function makeNamedMapLayerConfig(options) { - return { - version: '1.3.0', - layers: [ - { - type: 'named', - options: options - } - ] - }; - } - - suiteSetup(function(done) { templateMaps.addTemplate(username, nestedNamedMapTemplate, function(err) { if (err) { @@ -344,6 +329,119 @@ suite('template_maps', function() { }); + test('should return 200 and layergroup with private tables', function(done) { + + var privateTableTemplateName = 'private_table_template'; + var privateTableTemplate = { + version: '0.0.1', + name: privateTableTemplateName, + auth: { + method: 'open' + }, + layergroup: { + layers: [ + { + type: 'cartodb', + options: { + sql: 'select * from test_table_private_1', + cartocss: '#layer { marker-fill: #cc3300; }', + cartocss_version: '2.3.0' + } + } + ] + } + }; + + var layergroup = { + version: '1.3.0', + layers: [ + { + type: 'named', + options: { + name: privateTableTemplateName + } + } + ] + }; + + Step( + function createTemplate() { + templateMaps.addTemplate(username, privateTableTemplate, this); + }, + function createLayergroup(err) { + if (err) { + throw err; + } + + var next = this; + assert.response(server, + { + url: '/tiles/layergroup', + method: 'POST', + headers: { + host: 'localhost', + 'Content-Type': 'application/json' + }, + data: JSON.stringify(layergroup) + }, + { + status: 200 + }, + function(res, err) { + next(err, res); + } + ); + }, + function checkLayergroup(err, response) { + if (err) { + throw err; + } + + var parsedBody = JSON.parse(response.body); + assert.ok(parsedBody.layergroupid); + assert.ok(parsedBody.last_updated); + + return parsedBody.layergroupid; + }, + function requestTile(err, layergroupId) { + if (err) { + throw err; + } + + assert.response(server, + { + url: '/tiles/layergroup/' + layergroupId + '/0/0/0.png', + method: 'GET', + headers: { + host: 'localhost' + }, + encoding: 'binary' + }, + { + status: 200, + headers: { + 'content-type': 'image/png' + } + }, + function(res, err) { + next(err); + } + ); + }, + function deleteTemplate(err) { + var next = this; + templateMaps.delTemplate(username, privateTableTemplate, function(/*delErr*/) { + // ignore deletion error + next(err); + }); + }, + function finish(err) { + done(err); + } + ); + + }); + suiteTeardown(function(done) { templateMaps.delTemplate(username, nestedNamedMapTemplateName, function(err) {