Skip to content

Commit f88d33f

Browse files
author
Sandro Santilli
committed
Fix lack of response on backend crash
Closes #135 Enables previously failing test Required upgrade of node-postgresql to own fork
1 parent 3b0d20a commit f88d33f

File tree

3 files changed

+29
-5
lines changed

3 files changed

+29
-5
lines changed

npm-shrinkwrap.json

+2-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"dependencies": {
1919
"underscore" : "~1.3.3",
2020
"underscore.string": "~1.1.6",
21-
"pg": "~2.6.2",
21+
"pg": "git://github.com/CartoDB/node-postgres.git#2.6.2-cdb1",
2222
"express": "~2.5.11",
2323
"cartodb-redis": "~0.3.0",
2424
"step": "0.0.x",

test/acceptance/backend_crash.js

+26-3
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ suiteSetup(function(done){
2626
});
2727

2828
// See https://github.com/CartoDB/CartoDB-SQL-API/issues/135
29-
test.skip('does not hang server', function(done){
29+
test('does not hang server', function(done){
3030
//console.log("settings:"); console.dir(global.settings);
3131
var db_host_backup = global.settings.db_host;
3232
var db_port_backup = global.settings.db_port;
@@ -45,8 +45,31 @@ test.skip('does not hang server', function(done){
4545
});
4646
},
4747
function checkResponse(err, res) {
48-
assert.ok(err);
49-
assert.ok(err.message.match(/hang up/), err);
48+
if ( err ) throw err;
49+
assert.equal(res.statusCode, 400, res.statusCode + ': ' + res.body);
50+
var parsed = JSON.parse(res.body);
51+
assert.ok(parsed.error);
52+
var msg = parsed.error[0];
53+
assert.ok(msg.match(/unexpected.*end/), msg);
54+
return null;
55+
},
56+
function sendAnotherQuery() {
57+
var next = this;
58+
assert.response(app, {
59+
url: '/api/v1/sql?q=SELECT+2',
60+
method: 'GET',
61+
headers: {host: 'vizzuality.localhost' }
62+
},{}, function(res, err) {
63+
next(err, res);
64+
});
65+
},
66+
function checkResponse(err, res) {
67+
if ( err ) throw err;
68+
assert.equal(res.statusCode, 400, res.statusCode + ': ' + res.body);
69+
var parsed = JSON.parse(res.body);
70+
assert.ok(parsed.error);
71+
var msg = parsed.error[0];
72+
assert.ok(msg.match(/connect/), msg);
5073
return null;
5174
},
5275
function finish(err) {

0 commit comments

Comments
 (0)