Add test
This commit is contained in:
91
test/acceptance/cache/cache-control-header.js
vendored
Normal file
91
test/acceptance/cache/cache-control-header.js
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
'use strict';
|
||||
|
||||
require('../../support/test_helper');
|
||||
|
||||
const assert = require('../../support/assert');
|
||||
const TestClient = require('../../support/test-client');
|
||||
|
||||
const ONE_YEAR_IN_SECONDS = 60 * 60 * 24 * 365;
|
||||
const FIVE_MINUTES_IN_SECONDS = 60 * 5;
|
||||
|
||||
const defaultLayers = [{
|
||||
type: 'cartodb',
|
||||
options: {
|
||||
sql: TestClient.SQL.ONE_POINT,
|
||||
cartocss: TestClient.CARTOCSS.POINTS,
|
||||
cartocss_version: '2.3.0'
|
||||
}
|
||||
}];
|
||||
|
||||
function createMapConfig (layers = defaultLayers) {
|
||||
return {
|
||||
version: '1.8.0',
|
||||
layers: layers
|
||||
};
|
||||
}
|
||||
|
||||
describe('cache-control header', function () {
|
||||
describe('max-age directive', function () {
|
||||
it('tile from a table wich is included in cdb_tablemetada', function (done) {
|
||||
const ttl = ONE_YEAR_IN_SECONDS;
|
||||
const mapConfig = createMapConfig([{
|
||||
type: 'cartodb',
|
||||
options: {
|
||||
sql: 'select * from test_table',
|
||||
cartocss: TestClient.CARTOCSS.POINTS,
|
||||
cartocss_version: '2.3.0'
|
||||
}
|
||||
}]);
|
||||
|
||||
const testClient = new TestClient(mapConfig);
|
||||
|
||||
testClient.getTile(0, 0, 0, {}, function (err, res) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
assert.equal(res.headers['cache-control'], `public,max-age=${ttl}`);
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
|
||||
it('tile from a table wich is NOT included in cdb_tablemetada', function (done) {
|
||||
const ttl = global.environment.varnish.fallbackTtl || FIVE_MINUTES_IN_SECONDS;
|
||||
const mapConfig = createMapConfig([{
|
||||
type: 'cartodb',
|
||||
options: {
|
||||
sql: 'select * from test_table_2',
|
||||
cartocss: TestClient.CARTOCSS.POINTS,
|
||||
cartocss_version: '2.3.0'
|
||||
}
|
||||
}]);
|
||||
|
||||
const testClient = new TestClient(mapConfig);
|
||||
|
||||
testClient.getTile(0, 0, 0, {}, function (err, res) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
assert.equal(res.headers['cache-control'], `public,max-age=${ttl}`);
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
|
||||
it('tile from a dynamic query which doesn\'t use a table' , function (done) {
|
||||
const ttl = global.environment.varnish.fallbackTtl || FIVE_MINUTES_IN_SECONDS;
|
||||
const mapConfig = createMapConfig();
|
||||
|
||||
const testClient = new TestClient(mapConfig);
|
||||
|
||||
testClient.getTile(0, 0, 0, {}, function (err, res) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
|
||||
assert.equal(res.headers['cache-control'], `public,max-age=${ttl}`);
|
||||
testClient.drain(done);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user