CDB-3780 Handle error at query end. Adds regression test.

This commit is contained in:
Raul Ochoa 2014-08-05 00:47:14 +02:00
parent 8a4a08fb54
commit 15a3f4cc88
2 changed files with 22 additions and 0 deletions

View File

@ -53,6 +53,10 @@ GeoJsonFormat.prototype.handleQueryRow = function(row) {
};
GeoJsonFormat.prototype.handleQueryEnd = function(result) {
if (this.error) {
this.callback(this.error);
return;
}
this.buffer += ']}'; // end of features
if (this.opts.callback) {
this.buffer += ')';

View File

@ -182,4 +182,22 @@ test('null geometries in geojson output', function(done){
});
});
test('stream response handle errors', function(done) {
assert.response(app, {
url: '/api/v1/sql?' + querystring.stringify({
q: "SELECTT 1 as gid, null::geometry as the_geom ",
format: 'geojson'
}),
headers: {host: 'vizzuality.cartodb.com'},
method: 'GET'
},{ }, function(res){
console.log(res);
assert.equal(res.statusCode, 400, res.body);
var geoJson = JSON.parse(res.body);
var expectedError = {"error":["syntax error at or near \"1\""]}
assert.deepEqual(geoJson, expectedError);
done();
});
});
});