first commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
'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');
|
||||
|
||||
describe('timeout', function() {
|
||||
|
||||
// See https://github.com/CartoDB/CartoDB-SQL-API/issues/128
|
||||
it('after configured milliseconds', function(done){
|
||||
var testTimeout = 10;
|
||||
//console.log("settings:"); console.dir(global.settings);
|
||||
var timeoutBackup = global.settings.node_socket_timeout;
|
||||
global.settings.node_socket_timeout = testTimeout;
|
||||
var server = require('../../app/server')();
|
||||
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
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user