parent
ddefb1a6ca
commit
aff5c9a614
@ -0,0 +1,11 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = function clientHeader () {
|
||||
return function clientHeaderMiddleware (req, res, next) {
|
||||
const { client } = req.query;
|
||||
|
||||
res.set('Carto-Client', client);
|
||||
|
||||
return next();
|
||||
};
|
||||
};
|
@ -0,0 +1,97 @@
|
||||
'use strict';
|
||||
|
||||
require('../support/test-helper');
|
||||
|
||||
const assert = require('../support/assert');
|
||||
const TestClient = require('../support/test-client');
|
||||
|
||||
const defaultLayers = [{
|
||||
type: 'cartodb',
|
||||
options: {
|
||||
sql: TestClient.SQL.ONE_POINT
|
||||
}
|
||||
}];
|
||||
const defaultStatTag = 'wadus';
|
||||
|
||||
function createMapConfig (layers = defaultLayers, statTag = defaultStatTag) {
|
||||
return {
|
||||
version: '1.8.0',
|
||||
layers: layers,
|
||||
stat_tag: defaultStatTag
|
||||
};
|
||||
}
|
||||
|
||||
describe('map view headers', function () {
|
||||
it('anonymous map instantiation should respond with map-view headers', function (done) {
|
||||
const mapConfig = createMapConfig();
|
||||
const testClient = new TestClient(mapConfig);
|
||||
const params = { client: 'test' };
|
||||
|
||||
testClient.getLayergroup(params, (err, body, res) => {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
assert.strictEqual(res.headers['carto-stat-tag'], defaultStatTag);
|
||||
assert.strictEqual(res.headers['carto-client'], params.client);
|
||||
assert.strictEqual(res.headers['carto-user-id'], '1');
|
||||
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
|
||||
it('named map instantiation should respond with map-view headers', function (done) {
|
||||
const templateid = `map-view-headers-test-${Date.now()}`;
|
||||
const template = {
|
||||
version: '0.0.1',
|
||||
name: templateid,
|
||||
layergroup: createMapConfig()
|
||||
};
|
||||
|
||||
const testClient = new TestClient(template, 1234);
|
||||
const params = { client: 'test' };
|
||||
|
||||
testClient.getLayergroup(params, (err, body, res) => {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
assert.strictEqual(res.headers['carto-stat-tag'], defaultStatTag);
|
||||
assert.strictEqual(res.headers['carto-client'], params.client);
|
||||
assert.strictEqual(res.headers['carto-user-id'], '1');
|
||||
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
|
||||
it('preview should respond with map-view headers', function (done) {
|
||||
const templateid = `map-view-headers-test-${Date.now()}`;
|
||||
const template = {
|
||||
version: '0.0.1',
|
||||
name: templateid,
|
||||
layergroup: createMapConfig([{
|
||||
type: 'cartodb',
|
||||
options: {
|
||||
sql: TestClient.SQL.ONE_POINT,
|
||||
cartocss: TestClient.CARTOCSS.POINTS,
|
||||
cartocss_version: '2.3.0'
|
||||
}
|
||||
}])
|
||||
};
|
||||
|
||||
const testClient = new TestClient(template, 1234);
|
||||
const params = { client: 'test' };
|
||||
|
||||
testClient.getPreview(640, 480, params, (err, res) => {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
assert.strictEqual(res.headers['carto-stat-tag'], defaultStatTag);
|
||||
assert.strictEqual(res.headers['carto-client'], params.client);
|
||||
assert.strictEqual(res.headers['carto-user-id'], '1');
|
||||
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Reference in new issue