80 lines
2.3 KiB
JavaScript
80 lines
2.3 KiB
JavaScript
require('../support/test_helper');
|
|
|
|
var assert = require('../support/assert');
|
|
var TestClient = require('../support/test-client');
|
|
var testHelper = require('../support/test_helper');
|
|
|
|
var redis = require('redis');
|
|
var keysToDelete;
|
|
|
|
function withUserTimeoutRenderLimit(redisClient, user, userTimeoutLimit, callback) {
|
|
redisClient.SELECT(5, function(err) {
|
|
if (err) {
|
|
return callback(err);
|
|
}
|
|
|
|
var userTimeoutLimitsKey = 'limits:timeout:' + user;
|
|
var redisParams = [
|
|
userTimeoutLimitsKey,
|
|
'render', userTimeoutLimit,
|
|
'render_public', userTimeoutLimit
|
|
];
|
|
|
|
redisClient.hmset(redisParams, function (err) {
|
|
if (err) {
|
|
return callback(err);
|
|
}
|
|
keysToDelete[userTimeoutLimitsKey] = 5;
|
|
return callback();
|
|
});
|
|
});
|
|
}
|
|
|
|
function createMapConfig (cartocss) {
|
|
return {
|
|
version: '1.6.0',
|
|
layers: [{
|
|
type: "cartodb",
|
|
options: {
|
|
sql: [
|
|
'SELECT',
|
|
' pg_sleep(1),',
|
|
' 1 cartodb_id,',
|
|
' \'SRID=3857;POINT(0 0)\'::geometry the_geom_webmercator'
|
|
].join('\n'),
|
|
cartocss: cartocss,
|
|
cartocss_version: '2.3.0',
|
|
interactivity: 'cartodb_id'
|
|
}
|
|
}]
|
|
};
|
|
}
|
|
|
|
describe('user timeout limits', function () {
|
|
var redisClient = redis.createClient(global.environment.redis.port);
|
|
|
|
beforeEach(function() {
|
|
keysToDelete = {};
|
|
});
|
|
|
|
afterEach(function (done) {
|
|
testHelper.deleteRedisKeys(keysToDelete, done);
|
|
});
|
|
|
|
it('layergroup creation works even if test tile is slow', function (done) {
|
|
withUserTimeoutRenderLimit(redisClient, 'localhost', 1, function (err) {
|
|
if (err) {
|
|
return done(err);
|
|
}
|
|
|
|
var mapConfig = createMapConfig(TestClient.CARTOCSS.POINTS);
|
|
var testClient = new TestClient(mapConfig, 1234);
|
|
testClient.getTile(4, 4, 4, {}, function (err /*, res, tile */) {
|
|
assert.ok(err, err);
|
|
// TODO: check timeout tile
|
|
testClient.drain(done);
|
|
});
|
|
});
|
|
});
|
|
});
|