Improve mixed geometry export error message. Closes #78
This commit is contained in:
parent
c84f9b1a52
commit
3e7c8f4d22
1
NEWS.md
1
NEWS.md
@ -1,5 +1,6 @@
|
|||||||
1.3.4 (DD/MM/YY)
|
1.3.4 (DD/MM/YY)
|
||||||
-----
|
-----
|
||||||
|
* Improve mixed-geometry export error message (#78)
|
||||||
|
|
||||||
1.3.3 (11/01/13)
|
1.3.3 (11/01/13)
|
||||||
-----
|
-----
|
||||||
|
@ -551,7 +551,10 @@ console.log(['ogr2ogr',
|
|||||||
|
|
||||||
child.on('exit', function(code) {
|
child.on('exit', function(code) {
|
||||||
if ( code ) {
|
if ( code ) {
|
||||||
next(new Error("ogr2ogr returned an error (error code " + code + ")\n" + stderr));
|
var emsg = stderr.split('\n')[0];
|
||||||
|
// TODO: add more info about this error ?
|
||||||
|
//if ( RegExp(/attempt to write non-.*geometry.*to.*type shapefile/i).exec(emsg) )
|
||||||
|
next(new Error(emsg));
|
||||||
} else {
|
} else {
|
||||||
next(null);
|
next(null);
|
||||||
}
|
}
|
||||||
|
@ -181,5 +181,26 @@ test('SHP format, unauthenticated, with utf8 data', function(done){
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// See https://github.com/Vizzuality/CartoDB-SQL-API/issues/66
|
||||||
|
test('mixed type geometry', function(done){
|
||||||
|
var query = querystring.stringify({
|
||||||
|
q: "SELECT 'POINT(0 0)'::geometry as g UNION ALL "
|
||||||
|
+ "SELECT 'LINESTRING(0 0, 1 0)'::geometry",
|
||||||
|
format: 'shp'
|
||||||
|
});
|
||||||
|
assert.response(app, {
|
||||||
|
url: '/api/v1/sql?' + query,
|
||||||
|
headers: {host: 'vizzuality.cartodb.com'},
|
||||||
|
encoding: 'binary',
|
||||||
|
method: 'GET'
|
||||||
|
},{ }, function(res){
|
||||||
|
assert.equal(res.statusCode, 400, res.statusCode + ': ' +res.body);
|
||||||
|
var parsedBody = JSON.parse(res.body);
|
||||||
|
var expectedBody = {"error":["ERROR 1: Attempt to write non-point (LINESTRING) geometry to point shapefile."]}
|
||||||
|
assert.deepEqual(parsedBody, expectedBody);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user