You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
CartoDB-SQL-API/test/acceptance/timeout-test.js

52 lines
1.6 KiB

'use strict';
/**
*
* Requires the database and tables setup in config/environments/test.js to exist
* Ensure the user is present in the pgbouncer auth file too
* TODO: Add OAuth tests.
*
* To run this test, ensure that cartodb_test_user_1_db metadata exists
* in Redis for the vizzuality.cartodb.com domain
*
* SELECT 5
* HSET rails:users:vizzuality id 1
* HSET rails:users:vizzuality database_name cartodb_test_user_1_db
*
*/
require('../helper');
var assert = require('../support/assert');
var step = require('step');
var server = require('../../lib/server');
describe('timeout', function () {
// See https://github.com/CartoDB/CartoDB-SQL-API/issues/128
it('after configured milliseconds', function (done) {
var testTimeout = 1;
var timeoutBackup = global.settings.node_socket_timeout;
global.settings.node_socket_timeout = testTimeout;
step(
function sendLongQuery () {
assert.response(server(), {
url: '/api/v1/sql?q=SELECT+count(*)+FROM+generate_series(1,100000)',
method: 'GET',
headers: { host: 'vizzuality.localhost' }
}, {}, this);
},
function checkResponse (err/*, res */) {
assert.ok(err);
assert.ok(err.message.match(/hang up/), err);
return null;
},
function finish (err) {
global.settings.node_socket_timeout = timeoutBackup;
done(err);
}
);
});
// TODO: check that the query is interrupted on timeout!
// See #129
});