2013-05-17 17:44:50 +08:00
|
|
|
require('../../helper');
|
|
|
|
require('../../support/assert');
|
|
|
|
|
|
|
|
|
2015-05-13 17:53:14 +08:00
|
|
|
var app = require(global.settings.app_root + '/app/controllers/app')();
|
|
|
|
var assert = require('assert');
|
|
|
|
var querystring = require('querystring');
|
2013-05-17 17:44:50 +08:00
|
|
|
|
|
|
|
// allow lots of emitters to be set to silence warning
|
|
|
|
app.setMaxListeners(0);
|
|
|
|
|
2015-05-13 17:53:14 +08:00
|
|
|
describe('export.arraybuffer', function() {
|
2013-05-17 17:44:50 +08:00
|
|
|
|
2015-05-13 17:53:14 +08:00
|
|
|
it('GET /api/v1/sql as arraybuffer ', function(done){
|
2013-05-17 17:44:50 +08:00
|
|
|
assert.response(app, {
|
|
|
|
url: '/api/v1/sql?' + querystring.stringify({
|
|
|
|
q: 'SELECT cartodb_id,name,1::integer,187.9 FROM untitle_table_4',
|
|
|
|
format: 'arraybuffer'
|
|
|
|
}),
|
|
|
|
headers: {host: 'vizzuality.cartodb.com'},
|
|
|
|
method: 'GET'
|
|
|
|
},{ }, function(res){
|
|
|
|
assert.equal(res.statusCode, 200, res.body);
|
2015-05-13 17:53:14 +08:00
|
|
|
assert.equal(res.headers['content-type'], "application/octet-stream");
|
2013-05-17 17:44:50 +08:00
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2015-05-13 17:53:14 +08:00
|
|
|
it('GET /api/v1/sql as arraybuffer does not support geometry types ', function(done){
|
2013-05-17 17:44:50 +08:00
|
|
|
assert.response(app, {
|
|
|
|
url: '/api/v1/sql?' + querystring.stringify({
|
|
|
|
q: 'SELECT cartodb_id, the_geom FROM untitle_table_4',
|
|
|
|
format: 'arraybuffer'
|
|
|
|
}),
|
|
|
|
headers: {host: 'vizzuality.cartodb.com'},
|
|
|
|
method: 'GET'
|
|
|
|
},{ }, function(res){
|
|
|
|
assert.equal(res.statusCode, 400, res.body);
|
|
|
|
var result = JSON.parse(res.body);
|
|
|
|
assert.equal(result.error[0], "geometry types are not supported");
|
|
|
|
|
|
|
|
done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|