Tests for named maps + torque layers with params instantiation
This commit is contained in:
parent
67ba517a0e
commit
e0d8f5afac
@ -1947,4 +1947,140 @@ describe('template_api', function() {
|
||||
|
||||
});
|
||||
|
||||
var torqueParamsScenarios = [
|
||||
{
|
||||
templateParams: {},
|
||||
expectedTile: [{"x__uint8":125,"y__uint8":159,"vals__uint8":[2],"dates__uint16":[0]}]
|
||||
},
|
||||
{
|
||||
templateParams: { namesFilter: "'Hawai'" },
|
||||
expectedTile: [{"x__uint8":125,"y__uint8":159,"vals__uint8":[1],"dates__uint16":[0]}]
|
||||
}
|
||||
];
|
||||
torqueParamsScenarios.forEach(function(scenario) {
|
||||
it("can instantiate with torque layer and params=" + JSON.stringify(scenario.templateParams), function(done) {
|
||||
|
||||
var torqueParamsTemplate = {
|
||||
version: '0.0.1',
|
||||
name: 'acceptance_torque_params',
|
||||
auth: {
|
||||
method: 'open'
|
||||
},
|
||||
placeholders: {
|
||||
namesFilter: {
|
||||
"type": "sql_ident",
|
||||
"default": "'Hawai', 'El Estocolmo'"
|
||||
}
|
||||
},
|
||||
layergroup: {
|
||||
version: '1.4.0',
|
||||
layers: [
|
||||
{
|
||||
type: 'torque',
|
||||
options: {
|
||||
sql: "select * from test_table_private_1 where name in (<%= namesFilter %>)",
|
||||
cartocss: "Map { -torque-frame-count:1; -torque-resolution:1; " +
|
||||
"-torque-aggregation-function:'count(*)'; -torque-time-attribute:'cartodb_id'; }",
|
||||
cartocss_version: '2.0.2'
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
||||
|
||||
var layergroupIdToDelete;
|
||||
step(
|
||||
function createTemplate() {
|
||||
var next = this;
|
||||
var createTemplateRequest = {
|
||||
url: '/api/v1/map/named?api_key=1234',
|
||||
method: 'POST',
|
||||
headers: {
|
||||
host: 'localhost',
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: JSON.stringify(torqueParamsTemplate)
|
||||
};
|
||||
assert.response(
|
||||
server,
|
||||
createTemplateRequest,
|
||||
{
|
||||
status: 200
|
||||
},
|
||||
function(res, err) {
|
||||
next(err, res);
|
||||
}
|
||||
);
|
||||
},
|
||||
function instantiateTemplate(err, res) {
|
||||
assert.ifError(err);
|
||||
var parsed = JSON.parse(res.body);
|
||||
assert.ok(parsed.hasOwnProperty('template_id'), "Missing 'template_id' from response: " + res.body);
|
||||
var templateId = parsed.template_id;
|
||||
var instantiatePostRequest = {
|
||||
url: '/api/v1/map/named/' + templateId,
|
||||
method: 'POST',
|
||||
headers: {
|
||||
host: 'localhost',
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
data: JSON.stringify(scenario.templateParams)
|
||||
};
|
||||
var next = this;
|
||||
assert.response(
|
||||
server,
|
||||
instantiatePostRequest,
|
||||
{
|
||||
status: 200
|
||||
},
|
||||
function(res, err) {
|
||||
return next(err, res);
|
||||
}
|
||||
);
|
||||
},
|
||||
function requestTile(err, res) {
|
||||
assert.ifError(err);
|
||||
|
||||
var layergroupId = JSON.parse(res.body).layergroupid;
|
||||
layergroupIdToDelete = LayergroupToken.parse(layergroupId).token;
|
||||
|
||||
var torqueTileRequest = {
|
||||
url: '/api/v1/map/' + layergroupId + '/0/0/0/0.torque.json',
|
||||
method: 'GET',
|
||||
headers: {
|
||||
host: 'localhost'
|
||||
}
|
||||
};
|
||||
var next = this;
|
||||
assert.response(
|
||||
server,
|
||||
torqueTileRequest,
|
||||
{
|
||||
status: 200
|
||||
},
|
||||
function(res, err) {
|
||||
return next(err, res);
|
||||
}
|
||||
);
|
||||
},
|
||||
function validateTileAndFinish(err, res) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
keysToDelete['map_cfg|' + layergroupIdToDelete] = 0;
|
||||
keysToDelete['map_tpl|localhost'] = 0;
|
||||
keysToDelete['user:localhost:mapviews:global'] = 5;
|
||||
|
||||
assert.deepEqual(
|
||||
JSON.parse(res.body),
|
||||
scenario.expectedTile
|
||||
);
|
||||
|
||||
done();
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user