Commit Graph

907 Commits

Author SHA1 Message Date
Daniel García Aubert
af75bbda50 Rename 2016-10-28 12:50:33 +02:00
Daniel García Aubert
1f657a4f94 Ensure test is isolated 2016-10-28 12:24:23 +02:00
Daniel García Aubert
0085b8ee3d List users with work in progress jobs 2016-10-27 20:42:49 +02:00
Daniel García Aubert
f65208ba0d Add listWorkInProgressJobByUser function 2016-10-27 18:43:28 +02:00
Daniel García Aubert
8f65e6b16c Add test 2016-10-27 18:24:39 +02:00
Raul Ochoa
16e9e709b8 Cancel with user statement_timeout limit from redis 2016-10-21 14:35:24 +02:00
Raul Ochoa
7563868514 Re-insert into the tree if there was a user in done state that gets a new task 2016-10-21 11:42:27 +02:00
Raul Ochoa
62cfe974b7 Use constants for users 2016-10-21 11:10:17 +02:00
Raul Ochoa
66a1c33f96 Simplify listener subscription logic
Always remove pending listeners on acquire call.
Always register add and release listeners on acquire.
2016-10-20 23:47:39 +02:00
Raul Ochoa
e4d54e9ab7 Fix condition to pick next candidate 2016-10-20 20:16:57 +02:00
Raul Ochoa
80d2e190ad Fix test, use fixed to replace one and infinity 2016-10-19 18:47:55 +02:00
Raul Ochoa
604e28533c Fix and improve test 2016-10-19 16:58:57 +02:00
Raul Ochoa
372c9f5511 Basic test to test scheduler happy case 2016-10-19 16:57:10 +02:00
Raul Ochoa
5030fddc9c Allow to override test client 2016-10-19 16:56:43 +02:00
Raul Ochoa
1ee0878631 Scheduler uses a red–black tree to decide on next job candidate 2016-10-19 16:55:49 +02:00
Raul Ochoa
2853c7b0a7 Fix status check 2016-10-19 10:36:27 +02:00
Raul Ochoa
1e490be0a1 Don't rely on batch.on(job:status) 2016-10-18 20:18:49 +02:00
Raul Ochoa
a29f847767 Don't rely on batch.on(job:status) 2016-10-18 20:05:57 +02:00
Raul Ochoa
a1400e956d Don't rely on batch.on(job:status) 2016-10-18 20:01:11 +02:00
Raul Ochoa
66d1c18941 Default to 64 queued jobs as max 2016-10-17 15:23:53 +02:00
Raul Ochoa
cdde1be29e Re-use redis pool as much as possible 2016-10-17 15:02:34 +02:00
Raul Ochoa
4dad54d004 Add test to validate query order by user 2016-10-17 12:33:49 +02:00
Raul Ochoa
b8a57460dc Handle stop gracefully 2016-10-17 12:28:01 +02:00
Raul Ochoa
8b9a30eb75 Queue seeker was not _finding_ queues when only one present 2016-10-17 12:27:06 +02:00
Raul Ochoa
f6dc991ab5 Allow to override configuration per API call 2016-10-17 10:52:35 +02:00
Raul Ochoa
cb23b7f46c Make test finish quicker 2016-10-17 10:52:07 +02:00
Raul Ochoa
5bb7d8fa1c Merge branch 'master' into batch-user-queues 2016-10-14 12:33:37 +02:00
Raul Ochoa
b510a3684d Add option to skip script downloading 2016-10-14 12:28:43 +02:00
Raul Ochoa
1e442b37ab Allow to set a max number of queued jobs per user 2016-10-12 22:40:35 +02:00
Raul Ochoa
1f038ac1f4 Moves from host queues to user queues
- Existing jobs are moved before start processing them.
 - Uses a new queue prefix to avoid collisions.
 - Pub/Sub also changes communication channel.
 - Job subscriber emits user+host on new jobs.
 - Batch processor is faulty. See TODO in batch.js.
2016-10-12 21:32:29 +02:00
Raul Ochoa
aa68dff24b Use constants for tests 2016-10-12 18:44:46 +02:00
Raul Ochoa
b86f82d3ca Batch.stop removes all listeners 2016-10-12 16:43:18 +02:00
Raul Ochoa
c21f373291 Tests for locker 2016-10-12 13:15:55 +02:00
Raul Ochoa
167ecc6965 Set NODE_ENV environment var to test 2016-10-12 01:41:01 +02:00
Raul Ochoa
611508c654 Hide queue seeker behind job subscriber 2016-10-11 19:01:39 +02:00
Raul Ochoa
e4b1711e8e pub/sub package 2016-10-11 18:28:46 +02:00
Raul Ochoa
f036e29b8f Make test stable 2016-10-10 19:47:18 +02:00
Raul Ochoa
41d7823227 Drop table if exists 2016-10-10 19:46:53 +02:00
Raul Ochoa
a0ace8d034 Use name in test 2016-10-10 19:46:39 +02:00
Raul Ochoa
66820a67bb Make possible to specify a name for batch 2016-10-10 19:46:07 +02:00
Raul Ochoa
f4950f73c0 Add test to validate multiple consumers query order scenario 2016-10-10 15:56:04 +02:00
Raul Ochoa
ece95afc95 Add test client to run plain queries 2016-10-10 15:37:46 +02:00
Raul Ochoa
46579093dd Fix test scenario description 2016-10-10 15:37:19 +02:00
Raul Ochoa
8ac656492f Move to support directory 2016-10-10 15:22:50 +02:00
Raul Ochoa
faa02a79b9 Test for 578c43b1a8 2016-10-10 15:17:05 +02:00
Raul Ochoa
8a4f54bb87 Allow users to set max statement_timeout for their queries 2016-10-10 12:01:36 +02:00
Raul Ochoa
2ac39b5748 Move all batch tests to their own directory 2016-10-06 11:53:56 +02:00
Raul Ochoa
b07e2d3de5 Merge pull request #346 from CartoDB/fix-batch-api-test
Removed duplicated config
2016-10-04 13:01:46 +02:00
Raul Ochoa
0e03bcd1d3 Delete table so suite ends clear 2016-09-26 18:28:15 +02:00
Raul Ochoa
2712d81d50 Remove unused server utils 2016-09-26 18:13:08 +02:00
Raul Ochoa
b29358a0ed Remove old response from assert 2016-09-26 18:11:40 +02:00
Raul Ochoa
96fc32b24a Concurrency test with assert.response 2016-09-26 18:10:09 +02:00
Raul Ochoa
1a20ca0bc3 Use listener for test 2016-09-26 18:09:50 +02:00
Raul Ochoa
abc2f130c9 Migrate to express 4.x series
- Remove express logger
 - Error handler responds with application/[json|javascript]
 - Fix all tests relying on res.headers
 - assert.response based on request module
2016-09-26 18:09:27 +02:00
Raul Ochoa
a4aba62e9c Fix name clash for err vars 2016-09-26 14:51:41 +02:00
Raul Ochoa
90e4600a6c Rename vars to avoid name clash 2016-09-26 14:42:50 +02:00
Raul Ochoa
3dce6af20f Remove unused param 2016-09-26 14:42:35 +02:00
Raul Ochoa
9bd240ef6c Remove unused params 2016-09-26 14:42:24 +02:00
Raul Ochoa
26400342f3 Remove unused param 2016-09-26 14:42:14 +02:00
Raul Ochoa
c47dde1a29 Short hand method 2016-09-26 14:42:02 +02:00
Raul Ochoa
c9846a2437 Change callback signature in assert.response 2016-09-26 14:37:40 +02:00
Raul Ochoa
0d54604428 Remove setMaxListeners from tests 2016-09-14 21:24:22 +02:00
Raul Ochoa
84b80547c2 Remove settings' app_root 2016-09-14 21:02:56 +02:00
Raul Ochoa
f92d50cccf Rename from app to server
Removes app_root dependency in requires
2016-09-14 20:54:53 +02:00
Daniel García Aubert
17411f2bb6 Avoids to delete empty keys 2016-09-12 16:00:33 +02:00
Raul Ochoa
461728d3e2 Remove user indexer 2016-08-30 19:08:06 +02:00
Raul Ochoa
20edddc721 Remove user indexer dependency from tests 2016-08-30 19:06:59 +02:00
Raul Ochoa
d33fe5ac21 Stop indexing jobs per user
Removes .list() from job backend
2016-08-30 19:01:23 +02:00
Raul Ochoa
05ada98124 Remove .list() from job service 2016-08-30 18:51:51 +02:00
Raul Ochoa
ba0f2f1066 Remove endpoint to retrieve jobs list 2016-08-30 18:49:01 +02:00
Raul Ochoa
4c8d734bbf Remove update method from job service 2016-08-30 17:46:32 +02:00
Raul Ochoa
ad0d101bfd Remove patch/put endpoints for jobs 2016-08-30 17:43:34 +02:00
Daniel García Aubert
085abb3446 Removed duplicated config 2016-08-01 11:48:11 +02:00
Daniel García Aubert
f3f45bb4e2 Fixed lint issues 2016-07-22 17:11:21 +02:00
Daniel García Aubert
587ab6a5d9 Extratcs redis clean method for batch keys 2016-07-22 17:05:01 +02:00
Daniel García Aubert
7fd5e42213 Removed timeouts for batch tests and skipped again a failing one in job callback template 2016-07-22 14:41:26 +02:00
Daniel García Aubert
2e8382eeff Fixed issues in batch tests:
- Wait for batch is ready before testing it
 - Remove batch keys in redis after testing every suit
 - Fixed issue creating jobs with same id in job service integration test
2016-07-22 14:30:55 +02:00
Daniel García Aubert
438d61fb70 Set timeout to 30s 2016-07-20 19:50:28 +02:00
Daniel García Aubert
027e7b8768 Removed unused dependency 2016-07-20 19:42:53 +02:00
Daniel García Aubert
1625d8a556 Fixed timeout in job canceller test 2016-07-20 19:41:55 +02:00
Daniel García Aubert
457414c2fe Skipping integration test 2016-07-20 18:27:54 +02:00
Daniel García Aubert
39a9f950b0 Added integration test for multiquery jobs 2016-07-20 16:38:57 +02:00
Daniel García Aubert
b33caf6126 Moved batch integration test to a separated folder 2016-07-19 19:56:12 +02:00
Daniel García Aubert
8d4dbd85df Implmented integration tests for publisher, runner and canceller of batch service. 2016-07-19 19:42:49 +02:00
Daniel García Aubert
fe11828046 Implemented integration test for job service 2016-07-19 16:20:53 +02:00
Daniel García Aubert
2a4364142d Added integration test for job backend 2016-07-19 13:08:52 +02:00
Daniel García Aubert
ddd5a0bd19 Added integration folder to tests 2016-07-18 14:49:57 +02:00
Daniel García Aubert
395635d246 Merge branch 'master' into fix-publisher-connection 2016-07-11 17:49:11 +02:00
Raul Ochoa
3ebbd9f7c4 Skip tables with no updated_at registered in cdb_tablemetadata 2016-07-11 16:39:12 +02:00
Daniel García Aubert
ccff602bbf Merge branch 'master' into fix-publisher-connection 2016-07-07 16:07:41 +02:00
Raul Ochoa
368fe2403e Allow to setup more than one domain to validate oauth against 2016-07-07 14:20:36 +02:00
Daniel García Aubert
5eaad4d5d9 Uses redis-mpool for pubsub in Batch API 2016-07-07 14:14:46 +02:00
Daniel García Aubert
74d83a457e Now batch publisher sends a ping to server before publishing and create a new connection if error.
Batch publisher and subscriber logs (if debug enabled) both outcoming and incoming messages to give more visibility.
2016-07-07 10:44:17 +02:00
Raul Ochoa
63d3cd59e2 Skip test for travis 2016-06-30 20:02:43 +02:00
Raul Ochoa
b4ee2effbd Fix line too long error 2016-06-30 19:49:34 +02:00
Raul Ochoa
b9af5e7846 Create table in before 2016-06-30 19:40:36 +02:00
Raul Ochoa
8a57a64961 Output actual response when it fails 2016-06-30 19:14:21 +02:00
Raul Ochoa
1f8f5e2c57 Use another name for test table 2016-06-30 19:12:45 +02:00
Raul Ochoa
dc5807b790 Do not validate expected output 2016-06-30 18:55:19 +02:00
Raul Ochoa
74964bc696 Be more clear about what is not matching 2016-06-30 18:31:58 +02:00
Raul Ochoa
51747879d6 Reorder tests 2016-06-30 18:16:52 +02:00
Raul Ochoa
be0f059f01 Add <%= job_id %> template support for onerror and onsuccess fallback queries 2016-06-30 17:41:02 +02:00
Daniel García Aubert
a1f31df92e Now Batch API broadcast to other APIs everytime that re-enqueues a multiple-query job 2016-06-29 18:29:53 +02:00
Raul Ochoa
85fa9d3c2b Merge branch 'master' into batch-onerror-template
Conflicts:
	NEWS.md
2016-06-29 16:25:05 +02:00
Raul Ochoa
a3117a2f01 Add <%= error_message %> template support for onerror fallback queries 2016-06-29 14:22:23 +02:00
Raul Ochoa
1d8f5539a7 Adds start and end time for batch queries with fallback 2016-06-29 13:56:45 +02:00
Daniel García Aubert
c7a9f59320 Added CDB_OverviewsSupport as remote sql script in fixtrues 2016-06-22 16:38:30 +02:00
Daniel
58055080c9 Merge pull request #311 from CartoDB/309-skipped-status
Fixes #309, added skipped status to fallback-jobs
2016-06-08 11:12:59 +02:00
Daniel García Aubert
2a2127f4e1 Improved falback job to get the status of last finished query 2016-06-02 18:20:53 +02:00
Raul Ochoa
299490f46f Put all remote sql script together 2016-06-01 10:52:54 +02:00
Daniel García Aubert
481a82500b Refactored fallback jobs 2016-06-01 10:39:01 +02:00
Raul Ochoa
5710d83908 Output postgresql server version 2016-06-01 10:25:16 +02:00
Daniel García Aubert
1a0e2b681b Fixes #309, added skipped status to fallback-jobs 2016-05-26 17:37:37 +02:00
Daniel García Aubert
e079491a7e Fixed issue with status transition fallback jobs 2016-05-25 17:00:27 +02:00
Raul Ochoa
23228b2d73 Payload size validates multiple queries and fallback queries
It uses a middleware to check the body size
2016-05-24 14:28:00 +02:00
Daniel García Aubert
2d86fc2ce3 In fallback jobs, used fallback_status property instead of an array of statuses 2016-05-23 15:05:14 +02:00
Daniel García Aubert
052cb0796d Modified fallback tests in order to use our custom assert.response 2016-05-20 14:42:53 +02:00
Daniel García Aubert
e04787a070 Fixed missing failed_reason in failing jobs 2016-05-19 17:02:48 +02:00
Daniel García Aubert
cf7dff4696 Removed commented code 2016-05-19 14:13:54 +02:00
Daniel García Aubert
62c8a9d315 Refactor and fixed issue, when cancelling a fallback job, it is not cancelled properly 2016-05-19 14:10:18 +02:00
Daniel García Aubert
5c4ced34e6 Added acceptance test for job cancelling 2016-05-18 13:25:08 +02:00
Daniel García Aubert
b94a9c7c0a Fixed conflicts 2016-05-18 11:48:39 +02:00
Daniel
8c8da8e39c Merge pull request #301 from CartoDB/job-model-refactor
Job model refactor
2016-05-18 11:38:41 +02:00
Daniel García Aubert
6acc02e998 Improved fallback setStatus method and added acceptance test 2016-05-17 18:51:02 +02:00
Daniel García Aubert
b2eac6b880 Implemented test for fallback jobs 2016-05-17 01:00:27 +02:00
Daniel García Aubert
be3d9d2316 Fallback jobs WIP 2016-05-16 13:49:56 +02:00
Daniel García Aubert
d2d3ba8159 Passed tests 2016-05-16 01:22:47 +02:00
Raul Ochoa
4e3238c2e8 Fix control flow when using OGR with _needSRS=true and empty queries
Continue on empty results as srid and geom type are not critical
when there are no results

Fixes #299
2016-05-12 17:21:07 +02:00
Juan Ignacio Sánchez Lara
e979b79f49 gpkg format #291 2016-05-10 18:42:23 +02:00
Juan Ignacio Sánchez Lara
7b9911416b geopackage export test #291 2016-05-10 18:01:50 +02:00
Juan Ignacio Sánchez Lara
c82cafb1ed Geopackage format support #291 2016-04-27 16:56:06 +02:00
Daniel García Aubert
5de931daa5 Improver error message in job max payload limit. 2016-04-25 11:18:30 +02:00
Daniel García Aubert
832695031b Improved tests for query size limit 2016-04-18 18:05:03 +02:00
Daniel García Aubert
1dcbb1afdf Improved error message 2016-04-18 16:24:52 +02:00
Daniel García Aubert
790b9c6124 Fixed typos 2016-04-18 15:44:48 +02:00
Daniel García Aubert
7cc7482944 Implemented limit to query size in Batch API. 2016-04-18 15:30:16 +02:00
Daniel
423e729e11 Merge pull request #283 from CartoDB/batch-improve-startup
Improved initialization in Batch API
2016-04-05 15:46:21 +02:00
Daniel García Aubert
7121b3b800 Passed test 2016-04-04 20:05:58 +02:00
Daniel García Aubert
b62edcb64f Refactored batch-api startup. Isolated code related to queue discovering, api much clear and concise. 2016-04-04 16:05:33 +02:00
dgaubert
e8a44136c5 Now Batch API looks for queues with jobs to consume at service initialization time 2016-03-31 17:37:35 +02:00
dgaubert
fd9bfe277e Implemented multiquery jobs for Batch API 2016-03-31 12:39:03 +02:00
Daniel García Aubert
a32fa7b108 Implemented new test for multiquery jobs 2016-03-18 18:12:01 +01:00
Daniel García Aubert
056f22b156 Implemented multi-jobs, user is able to send an array of jobs and batch service will run them in series 2016-03-18 14:57:18 +01:00
Raul Ochoa
66cd1f400f Skip query tables cache for authenticated requests 2016-03-10 19:20:56 +01:00
Alejandro Martínez
e100cfb584 Merge pull request #273 from CartoDB/new_querytables
Use node-cartodb-querytables library and add Surrogate-Keys
2016-03-08 15:33:04 +01:00
Raul Ochoa
5ebc8e43d5 Start hits=0 as first time is not a hit 2016-03-08 14:50:08 +01:00
Raul Ochoa
69fa13ab50 Do not track CDB_ sql function files 2016-03-08 14:09:15 +01:00
Daniel García Aubert
9e67d21a05 Passed test 2016-03-02 10:55:35 +01:00
Alejandro Martínez
9262223de4 Add Surrogate-key specs 2016-02-24 11:44:27 +01:00
Alejandro Martínez
5e06711b4b Use node-cartodb-querytables library 2016-02-22 12:24:05 +01:00
Raul Ochoa
15f90c1a78 QueryTablesApi only caches affected tables and always retrieve last modification 2016-02-02 01:16:24 +01:00
Raul Ochoa
c41d4550ce Fix style 2016-02-01 17:22:51 +01:00
Raul Ochoa
9deab814c9 Skip query-tables-api for authenticated requests 2016-02-01 16:53:28 +01:00
Raul Ochoa
7774c10c66 Remove commented out code 2016-01-28 14:44:50 +01:00
Raul Ochoa
98f697849a Remove select permission from CDB_TableMetadata on publicuser
Some tests will start to fail
2016-01-28 12:36:06 +01:00
Daniel García Aubert
c8dc2b3dc0 Removed possible reenqueued jobs in tests because of draining. 2016-01-26 12:29:04 +01:00
Daniel García Aubert
bd2ec0e77f Set pg_sleep to 3 seconds in test. 2016-01-26 12:13:04 +01:00
Daniel García Aubert
1857d5d456 Made all test ready to run 2016-01-26 11:53:36 +01:00
Daniel García Aubert
458d762f9f Revernting last changes:
- Short option in mocha
  - Using batch event emmit to check job status in test
2016-01-26 11:43:30 +01:00
Daniel García Aubert
aed83ed6b0 Added short option to mocha test runner 2016-01-26 11:33:37 +01:00
Daniel García Aubert
276bc679e6 Changed test to be responsive instead pulling every 50 milliseconds 2016-01-26 11:04:10 +01:00
Daniel García Aubert
a960bd18f1 Dranied jobs in hook 'after' 2016-01-25 17:30:07 +01:00
Daniel García Aubert
7971bcf86b Improved acceptance test for batch api 2016-01-25 16:44:00 +01:00
Daniel García Aubert
20fd536659 Now batch stop is synchronous, changed signature in test.
Fixed minor issue when draining the last job, queue is got before cancel the job.
2016-01-25 14:51:37 +01:00
Daniel García Aubert
c540899580 Implemented unit test for user indexer in batch service 2016-01-25 10:47:21 +01:00
Daniel García Aubert
e6f714a51b Implemented some new unit test 2016-01-22 19:31:25 +01:00
Daniel García Aubert
cb638bb0fe Fixed issue with Postgres error codes, implemented some test for job controller 2016-01-22 18:22:21 +01:00
Daniel García Aubert
2da35ac968 Merge branch 'master' of github.com:CartoDB/CartoDB-SQL-API into batch-api 2016-01-22 13:09:20 +01:00
Daniel García Aubert
5c4d239467 Fixed unit test for job queue and moved isJobFound function as private method in job backend 2016-01-22 12:43:41 +01:00
Raul Ochoa
c096d843a2 Adds coverage tool 2016-01-22 12:18:20 +01:00
Daniel García Aubert
2913aed697 Placed job controller endpoit under /api/vX/sql 2016-01-18 20:12:44 +01:00
Daniel García Aubert
a89e3776ec Removed unused callback in before hook in test and added proper configuration from user database config 2016-01-14 14:08:34 +01:00
Daniel García Aubert
c308551d05 Implemented drain to stop batch service gracefully.
Split job acceptance test
2016-01-13 16:25:25 +01:00
Daniel García Aubert
6e820b4573 Improved test's messages 2016-01-12 10:24:09 +01:00
Daniel García Aubert
565fb6e0da Add a comment 2016-01-12 10:08:56 +01:00
Daniel García Aubert
6c849f2bef Fixed issue with job acceptance test 2016-01-12 10:06:31 +01:00
Daniel García Aubert
2d13bde301 Implemented uses cases test for Batch API 2016-01-11 20:14:15 +01:00
Daniel García Aubert
078eb7706b Now SQL API is able to disable Batch Service using argv param --no-batch 2016-01-08 18:29:36 +01:00
Daniel García Aubert
20f00d58d9 Refactored batch service to avoid event noise, doing in callback way 2016-01-08 15:47:59 +01:00
Daniel García Aubert
f9f52d2bd1 Improved object creation in batch service 2016-01-08 11:32:01 +01:00
Daniel García Aubert
e6a4e0f7eb Returned 201 HTTP code in job creation
Fixed bug listing jobs, now user job index is cleaned before respond to client
2016-01-07 12:07:30 +01:00
Daniel García Aubert
681772bf37 Implemented test for Job Controller and implemented batch stop service 2016-01-05 17:42:28 +01:00
Daniel García Aubert
8c42019641 Improved namespace in redis for batch's stuff 2015-12-29 15:46:04 +01:00
Daniel García Aubert
851c393f75 Refactored batch manager avoiding concurrence issues 2015-12-29 10:19:10 +01:00
Daniel García Aubert
c4f96b4a59 Implemented support for listing jobs for one user 2015-12-24 17:42:49 +01:00
Daniel García Aubert
ecb76ca1de Improved batch API being consistent with naming, humam readability for job dates, hide redis key details for jobs. 2015-12-23 17:29:11 +01:00
Daniel García Aubert
c54f274bd4 Fixed callback called multiple times in tests 2015-12-23 14:54:54 +01:00
Daniel García Aubert
b16c0983c6 Implemented tests for batch API 2015-12-22 23:13:33 +01:00
Daniel García Aubert
3c23bf12e7 Fixed bug whether a job consumer is empty. And refactored batch module, now is a common object intead of module function 2015-12-22 20:12:10 +01:00
Daniel García Aubert
f41c43aa38 Disabled statement timeout bypassing pgbouncer connection 2015-12-22 15:43:00 +01:00
Daniel García Aubert
30d0b2906b Implemented GET for jobs API 2015-12-22 11:45:25 +01:00
Daniel García Aubert
ef59a1d942 Fixed typo in batch test 2015-12-22 11:06:46 +01:00
Daniel García Aubert
328d4c6bfe Fixed bad assertion in batch acceptance test 2015-12-22 11:02:16 +01:00
Daniel García Aubert
3762ad7a39 Now jobs are stored in redis instead of user's database 2015-12-21 19:57:10 +01:00
Daniel García Aubert
fb8feeb964 Now Job is an event emitter instance and we are able to know what happen wwith any job. Implemented test without a silly timeout 2015-12-16 18:13:48 +01:00
Daniel García Aubert
43f759e96a Refactored Batch API using streams instead a interval to consume the job queue. Limited one job running at the same time per queue instead of using a job's counter to limit it. 2015-12-16 15:57:58 +01:00
Daniel García Aubert
d0787d03f7 Reused matadata backend instance for batch service 2015-12-14 10:36:16 +01:00
Daniel García Aubert
6cc48bf9dd Implemented batch service 2015-12-09 20:17:45 +01:00
Daniel García Aubert
da66703ce3 Skipped undone test 2015-12-09 12:23:49 +01:00
Daniel García Aubert
56cc5b439a Removed test filter for runner 2015-12-09 12:22:00 +01:00
Daniel García Aubert
0c6edc573a Used cartodb-redis instead redis-mpool 2015-12-09 12:18:33 +01:00
Daniel García Aubert
00721bcd02 Implementing batch service 2015-12-09 00:02:08 +01:00
Daniel García Aubert
f6632d2373 Removed filter test 2015-12-07 12:11:46 +01:00
vagrant
35d6600f36 Implemented test for job manegement 2015-12-07 10:29:55 +00:00
Daniel García Aubert
a715879e37 Removed mocha test filter 2015-12-07 09:42:33 +01:00
Daniel García Aubert
a1243ad64d Implemented job controller to enqueue jobs 2015-12-07 09:40:51 +01:00
Daniel García Aubert
c6bae6d951 app module moved to right place 2015-12-03 18:33:17 +01:00
Raul Ochoa
b160f4051a Merge pull request #250 from CartoDB/issue-238
Stop adding X-Cache-Channel header when no tables involved
2015-09-08 12:30:26 +02:00
Raul Ochoa
5ec6d7c77b Remove no longer needed health check params 2015-09-07 18:34:50 +02:00
Raul Ochoa
875eccba62 Stop adding X-Cache-Channel header when no tables were identified in SQL query
Fixes #238 and fixes #157
2015-09-07 18:22:24 +02:00
Raul Ochoa
920cb350cc x-cache-channel tests 2015-09-07 18:09:42 +02:00
Raul Ochoa
a5d1d1d3bd Re-enable regression test for tables with (.) dots in names
Closes #224 after CDB_QueryTables returns named properly quoted
2015-09-07 17:10:24 +02:00
Raul Ochoa
0068322fe2 Upgrade CDB_QueryTables to use latest version 2015-09-07 17:10:24 +02:00
Raul Ochoa
74619b38f5 Adds scenario to validate log is limited to 2000 chars 2015-09-04 12:45:51 +02:00
Raul Ochoa
335d71bc04 Adds a custom log4js format function to log sql query from POST requests
Tokens in log4js are not provided with request/response for context,
using a custom format function allow to access them

In the case of express logger token functions receive request/response
for context so it uses a custom token

Closes #206
2015-09-04 12:29:20 +02:00
Raul Ochoa
bb884b51a6 Disable regression test until CDB_QueryTablesText is fixed 2015-09-03 11:24:38 +02:00
Raul Ochoa
df589b5e85 Merge pull request #247 from CartoDB/last-modified-header
Set Last-Modified header based on affected tables
2015-09-03 09:30:50 +02:00
Raul Ochoa
0e07e39efc Adds regression test for issue #224 2015-09-02 17:09:22 +02:00
Raul Ochoa
f816093036 Set Last-Modified header based on affected tables
Closes #101
2015-09-02 16:25:56 +02:00
Raul Ochoa
d42e5a6b75 Do not expose remove from pool after query error as a config option 2015-08-04 16:23:36 +02:00
Raul Ochoa
7c696317d0 New option to remove client from pool after error happens
This help to avoid issues with transactions.

Closes #241
2015-08-04 15:53:50 +02:00
Raul Ochoa
8db6b88853 Update CDB_QueryTables to match current spec 2015-08-04 14:45:14 +02:00
Raul Ochoa
62e7e1634f Use in memory sqlite databases for spatialite tests 2015-06-16 17:33:04 +02:00
Raul Ochoa
e9dda12ad3 Adds tests for big results in ogr formats 2015-06-16 15:54:13 +02:00
Francisco Dans
59d93aeb57 removes only from test call 2015-06-01 17:17:05 +02:00
Francisco Dans
fc30771879 adds couple more tests 2015-06-01 15:16:05 +02:00
Francisco Dans
2363b87b61 adds acc test for sqlite 2015-06-01 13:20:51 +02:00
Raul Ochoa
b29933f96e Closes stream responses on error
fixes #219
2015-05-13 18:15:38 +02:00
Raul Ochoa
469bd0b696 use describe+it 2015-05-13 12:23:40 +02:00
Raul Ochoa
33731fc315 jshint fixes 2015-05-13 11:53:14 +02:00
Raul Ochoa
9486643f0a jshint fixes 2015-05-13 11:21:44 +02:00
Raul Ochoa
926fa3fd44 Use another port for fake sql server
assert.response helper use port 5555 as default but it keeps
incrementing the port number if 5555 is busy so this suite was failing
randomly because sometimes port 5556 was already in use.
2015-05-13 11:19:02 +02:00
Raul Ochoa
546100a950 unit tests using describe+it plus jshint fixes 2015-05-12 18:34:25 +02:00
Raul Ochoa
8fe4224a55 Changes configuration example base_url for subdomainless users 2015-04-08 16:14:05 +02:00
Luis Bosque
0b63c35e85 Removed commented healthcheck tests 2015-04-06 19:04:28 +02:00
Luis Bosque
21cbdfd4a3 Disable per user health checks tests 2015-04-06 16:44:01 +02:00
Luis Bosque
6874ef823a jshint fixes 2015-03-25 18:39:45 +01:00
Luis Bosque
897df7634b Return failed health checks with disabled file 2015-03-25 17:15:41 +01:00
Raul Ochoa
9dcb397737 Merge pull request #205 from CartoDB/url_rewrite
added /u/:user routing
2015-03-20 12:22:07 +01:00
Raul Ochoa
9b31df6793 Improve row size limit error message 2015-03-02 14:34:01 +01:00
Raul Ochoa
45f5b398a0 Logs with console.error too large row erros 2015-03-02 12:31:11 +01:00
Raul Ochoa
296bb658bf Update test/support/CDB_QueryTables.sql 2015-03-02 12:30:40 +01:00
Raul Ochoa
d794670f0b Update test/support/CDB_QueryTables.sql 2015-03-02 11:26:21 +01:00
Raul Ochoa
2b7bccd58b More flexible assert for syntax error 2015-03-01 13:19:51 +01:00
Raul Ochoa
9ab49d4614 Fix test as now it's reporting the issue with the query syntax differently 2015-02-26 16:28:25 +01:00
javi
824b7c084e added /u/:user routing 2015-01-30 11:37:29 +01:00
Raul Ochoa
3a066fa9fe Fix test description 2014-12-02 11:37:00 +01:00
Raul Ochoa
025a6abdaa Closes stream responses on error. Fixes #188 2014-12-01 16:55:59 +01:00
Raul Ochoa
d50ddbb10f Add more fields to error responses with hint, detail and context for SQL errors. 2014-11-21 12:59:48 +01:00
Raul Ochoa
74429f82e1 Improve topojson output by streaming json 2014-11-12 11:36:59 +01:00
Raul Ochoa
dc601a5feb Improve statement timeout error messages 2014-11-11 13:57:15 +01:00
Raul Ochoa
389e3c81cb Remove -U params in postgresql commands 2014-09-24 17:23:56 +02:00
Raul Ochoa
924ede83a0 Force postgres user using PGUSER env var 2014-09-24 12:12:59 +02:00
Raul Ochoa
742904c6e6 Adds debug info about $PGUSER var 2014-09-24 11:05:16 +02:00
Raul Ochoa
32889ca41f debug env vars for ci environment 2014-09-24 10:48:36 +02:00
Raul Ochoa
a6ffd7d257 Defaults to PGUSER=postgres if env var does not exist 2014-09-24 10:39:34 +02:00
Raul Ochoa
41d056f32c Lower granted permissions on {geometry,geography}_columns to match
normal usage.
2014-09-22 17:20:49 +02:00
Raul Ochoa
40ff44e0fe Merge branch 'master' into gdal-1.11 2014-09-22 15:08:13 +02:00
Raul Ochoa
d1a444a83c Check style fixes 2014-09-22 15:05:38 +02:00
Raul Ochoa
7b804c9d71 Merge branch 'no-libpq-param-enforcements'
Conflicts:
	NEWS.md
	test/prepare_db.sh
2014-09-22 14:51:20 +02:00
Raul Ochoa
2e3eeefd0f Removes tables=fake wadus param in ogr2ogr command so it can go to
geometry_colums view to retrieve the column data type. This requires
to grant permissions on geometry_columns and geography_columns to the
public user.
2014-09-22 13:23:30 +02:00
Raul Ochoa
7b9dbaf9f7 Upgrades QueryTables and QueryStatements to match with current
implementations. From now on it will re-download those functions from
https://github.com/CartoDB/cartodb-postgresql/tree/cdb when running
tests.
2014-09-22 13:16:11 +02:00
Raul Ochoa
386c236760 Fixes tests related to send 401 status code for unauthorized requests 2014-09-16 23:57:11 +02:00
Raul Ochoa
0500d21fd5 Removes unused method in assert extension 2014-08-28 10:43:36 +02:00
Raul Ochoa
0d5424c74f DRY 2014-08-27 17:09:59 +02:00
Raul Ochoa
6525b62fe2 Adds extra information when status/headers dont match 2014-08-27 17:09:31 +02:00
Raul Ochoa
840afa7a77 Make check() before any other assert 2014-08-27 16:39:16 +02:00
Raul Ochoa
85c70cc5f4 Call check before callback so the server is closed before the callback
throws an exception
2014-08-27 16:28:03 +02:00
Raul Ochoa
7c62632ea8 Health check endpoint 2014-08-26 18:40:58 +02:00
Raul Ochoa
96e47c4bdb Corrects JSDoc 2014-08-26 18:25:17 +02:00
Raul Ochoa
ae2c6f01d7 Change expected error code for backend crash. cartodb-psql 0.4.0
returns 500 error when it's not possible to connect to PostgreSQL.
2014-08-20 14:52:17 +02:00
Raul Ochoa
77cb86154c Starts using cartodb-psql node module in SQL API 2014-08-11 20:15:55 +02:00
Raul Ochoa
21b8e6947c Non authenticated request cannot use pg_ catalogs/functions 2014-08-08 12:48:29 +02:00
Raul Ochoa
f6c364b3b9 CDB-3032 Removes sql statements restriction on pg_ queries 2014-08-07 16:22:48 +02:00
Raul Ochoa
bd60f8f748 Using new method from cartodb-redis to retrieve oauth values so we
can reuse the same redis-mpool
2014-08-06 12:51:55 +02:00
Raul Ochoa
480a9f27b4 New authentication mechanism: checks in advance if credentials are provided
in order to do a single request to redis to retrieve the required database
connection parameters.
2014-08-05 16:20:06 +02:00
Raul Ochoa
49406c99fa Moves auth functionality to its own directory 2014-08-05 11:57:43 +02:00
Raul Ochoa
93ed7a43be Merge pull request #165 from CartoDB/CDB-3255
CDB-3255 More secure test
2014-08-05 00:57:59 +02:00
Raul Ochoa
41fe1f4cb5 Merge pull request #164 from CartoDB/CDB-3780
Fixes for GeoJSON stream responses
2014-08-05 00:57:35 +02:00
Raul Ochoa
63d41e4843 CDB-3255 More secure test 2014-08-05 00:57:09 +02:00
Raul Ochoa
bbb82c2ceb CDB-3780 Adds stream start in case there were no rows. Adds regression test. 2014-08-05 00:47:49 +02:00
Raul Ochoa
15a3f4cc88 CDB-3780 Handle error at query end. Adds regression test. 2014-08-05 00:47:14 +02:00
Raul Ochoa
6dd08253bf Merge pull request #162 from CartoDB/CDB-3774
CDB-3774 Re-enables disabled tests
2014-08-04 18:48:35 +02:00
Raul Ochoa
c3aefd16c1 CDB-3774 Re-enables disabled tests 2014-08-04 15:58:37 +02:00
Raul Ochoa
ce70e7252b Callback requests send 200 status error even if the query failed 2014-08-04 15:56:43 +02:00
Raul Ochoa
eaba2e20d4 Adds test to cover jsonp callbacks wrapped responses 2014-07-30 20:01:43 +02:00
Raul Ochoa
26685c58af Sets database host in redis test database 2014-07-04 17:01:58 +02:00
Raul Ochoa
572f8c59b7 Changes authentication to start using public user if it is defined in redis. 2014-07-04 16:47:59 +02:00
Raul Ochoa
ac0826dc91 Updates CDB_QueryTables to match the one from the extension. Fixes some tests to show the schema presence.
Skip some tests that we need to review because with the current implementation of CDB_QueryTables dont make sense.
CDB_QueryTables should be used from the extension as a dependency.
2014-06-26 11:22:40 +02:00
Sandro Santilli
af9da262a5 Do not assume "postgres" user exists
Revert "CDB-3079 enforces postgres user in preparation script"
Revert "CDB-3079 enforces postgres user in preparation script"
[TRAVIS] set "postgres" user for running tests (using PGUSER)

Closes #152
2014-06-19 11:52:06 +02:00
Raul Ochoa
9133893e39 Merge branch 'CDB-3079' of https://github.com/CartoDB/CartoDB-SQL-API into CDB-2038 2014-06-04 11:04:59 +02:00
Raul Ochoa
987b3e0318 CDB-3079 enforces postgres user in preparation script 2014-06-03 18:49:29 +02:00
Raul Ochoa
277a34cb83 CDB-3079 enforces postgres user in preparation script 2014-06-03 18:33:40 +02:00
Raul Ochoa
b3609696a3 requests associated with formats based on postgres expose a cancel method that will be called on client request abortion/cancelling so postgres can cancel ongoing queries 2014-06-02 14:48:38 +02:00
Sandro Santilli
51b135c0ac Set default PostgreSQL application name to "cartodb_sqlapi" 2014-05-07 16:14:17 +02:00
Raul Ochoa
8dbf1d9c45 Removes ending semicolons from SQL queries. Fixes #147 2014-04-15 15:29:03 +02:00
Raul Ochoa
3e6b63c9d6 CDB-2081 Returns original query in case there are no clauses to apply. 2014-04-14 15:44:43 +02:00
Raul Ochoa
537cb238c6 CDB-2081 Adds support for order_by through http query params. 2014-04-14 15:01:12 +02:00
Sandro Santilli
4606a44917 Fix testsuite with GDAL-1.11dev installed (current master) 2014-04-02 17:17:59 +02:00
Sandro Santilli
8a953c116c Fix paging with queries starting with comments
Closes #144
Includes testcase
2014-03-27 12:48:39 +01:00
Sandro Santilli
ee61ccfd94 Extend paging test
Tests page=0, POST and authentication
2014-03-27 11:18:02 +01:00
Sandro Santilli
45ad149fd4 Abort test if db preparation failed 2014-03-20 11:58:05 +01:00
Sandro Santilli
62e5d2b73c Give more detail on test failure 2014-03-19 17:44:38 +01:00
Sandro Santilli
b0d0d4d073 Reduce work on aborted requests
Closes #129
Includes testcase
2014-03-19 13:30:29 +01:00
Sandro Santilli
f88d33fdb9 Fix lack of response on backend crash
Closes #135
Enables previously failing test
Required upgrade of node-postgresql to own fork
2014-03-19 10:43:39 +01:00
Sandro Santilli
7b0145dde6 Check body of concurrent kml responses 2014-03-17 14:42:00 +01:00
Sandro Santilli
6d79572a3a Add pending test for backend crash (#135) 2014-03-17 10:43:55 +01:00
Sandro Santilli
622846b453 Add '/version' endpoint
Closes #138
Includes testcase
2014-03-13 13:40:56 +01:00
Sandro Santilli
6c47537f47 Honour the 'node_socket_timeout' configuration directive
Closes #128
Includes testcase, which required enhancing assert.response to
handle errors.
Changes app controller to a function that only reads configuration
when executed (rather than when only require'd).
2014-01-31 10:58:19 +01:00
Sandro Santilli
b736c228cf Allow running with mocha only symlinked in node_modules 2014-01-31 10:11:34 +01:00
Sandro Santilli
61cec80d4d Fix use of "SELECT .. INTO" with windowing params
Includes testcase. Closes #127
2014-01-09 17:56:09 +01:00
Sandro Santilli
76bd1bd37e Add --nocreate-{pg,redis} and --nodrop-{pg,redis} opts in run_test.sh 2013-12-18 12:33:03 +01:00
Sandro Santilli
80c30858bd Enhance error message on unknown cartodb username
Closes #126
2013-12-18 12:02:51 +01:00
Sandro Santilli
fcf982e045 Document and test "page" and "rows_per_page" parameters.
Closes #123
2013-12-03 10:52:55 -05:00
Sandro Santilli
3397f2f3f9 Fix field types names lookup after PSQL model refactoring
Fixes missing .prj in shapefile export regression
Closes #122
2013-12-02 11:47:52 +01:00
Sandro Santilli
5bd0e02103 Read test redis port from configuration, default to 6335 2013-11-27 12:56:33 +01:00
Sandro Santilli
77acd2567e Request that notices are sent to client while testing them
See https://travis-ci.org/CartoDB/CartoDB-SQL-API/builds/14146134
2013-11-18 17:09:57 +01:00
Sandro Santilli
9389a04030 Add warnings and notices to JSON response. Closes #104. 2013-11-18 17:01:06 +01:00
Sandro Santilli
6ebeed04c2 Optionally read user-specific database_password from redis
Follows CartoDB-2.5.0 model. Includes testcase.
Closes #120 -- Jira ref CDB-870
2013-11-18 13:31:11 +01:00
Sandro Santilli
af1f3daa69 Optionally read user-specific database_host from redis
Follows CartoDB-2.5.0 model. Includes testcase.
Closes #121 -- Jire ref CDB-870
2013-11-18 12:21:30 +01:00
Sandro Santilli
7218c89b2d Refactor PSQL model to take full db config in the constructor
Closes #58, stops reading configuration variables itself
2013-11-18 11:42:43 +01:00
Sandro Santilli
03ea51a375 CartoDB redis interaction delegated to "cartodb-redis" module 2013-11-15 19:14:55 +01:00
javi
370d45d8b6 fixed #119 2013-11-09 16:55:40 +01:00
Sandro Santilli
973c7181f0 Allow access to tables whose name contains "pg_" (but not at beginning)
Closes #118
2013-11-07 10:16:58 +01:00
Sandro Santilli
0139c8fb16 JSON format: correctly recognize "date" type columns
Closes #117 -- includes testcase
2013-11-06 11:43:56 +01:00
Sandro Santilli
8d2347af99 Make public PostgreSQL user name a configuration parameter
Closes #56.
Updates documentation and tests and example config files
2013-11-05 17:49:10 +01:00
Sandro Santilli
2abb136258 Set KML folder name to the requested filename.
Closes #115. Includes testcase.
2013-11-05 17:29:02 +01:00
Sandro Santilli
3c03099e8d Do not trust GDAL SRID detection for KML output.
Closes #116. Includes testcase.
2013-11-05 16:57:23 +01:00
Sandro Santilli
1637610f66 Set a meaningful X-Cache-Channel with cache_policy=persist
Closes #105
2013-10-18 13:29:06 +02:00
Sandro Santilli
e92530d6e5 Fix shapefile export for non-linestring results starting with NULL
Includes tests. Closes #111.
2013-10-02 12:12:09 +02:00
Sandro Santilli
0d84a704df Fix missing .prj file in shapefile format
Finds srid, when needed, with an additional query.
Closes #110.
Includes testcases.
2013-10-02 11:44:06 +02:00
Sandro Santilli
7f7ef682ac Improve recognition of non-standard field types names by db lookup
Closes #112.
Only looks up "geometry" and "raster" types for now, can be improved
over time.
2013-10-02 10:22:13 +02:00
Sandro Santilli
742936b2b8 Honour skipfields in JSON schema response. Closes #109 2013-09-26 13:26:45 +02:00
Sandro Santilli
531dd4b002 Tweak testcase to succeed with gdal-1.10
Absence of geometry column triggers a different behavior in 1.9 and 1.10
2013-09-23 13:24:00 +02:00
Sandro Santilli
615151528c Print ogr2ogr version when running tests 2013-09-04 15:15:47 +02:00
Sandro Santilli
7d5698b045 Accept an header-only CSV export for no-rows query
This makes the application compatible with both GDAL-0.9 and 0.10
See http://trac.osgeo.org/gdal/ticket/5234
2013-09-04 13:30:50 +02:00
Sandro Santilli
de1df14d91 Fix expected/obtained order in asserts 2013-09-04 13:18:10 +02:00
Sandro Santilli
7eedf89901 Also threat "description" as a special tag (in test) 2013-09-04 12:56:48 +02:00
Sandro Santilli
e4371f83bc Look for attribute names in both SimpleData and Placemark
See http://trac.osgeo.org/gdal/ticket/5208
2013-09-04 12:39:49 +02:00
Sandro Santilli
f7bee2345d Report boolean values as of boolean type, not string. Closes #106 2013-08-22 13:45:20 +02:00
Sandro Santilli
80e4521bb5 Tolerate blankspace differences in KML output
Makes tests succeed with gdal-1.10.x
2013-08-20 18:07:34 +02:00
Sandro Santilli
cda62f3a0a Check for field names in SimpleField rather than SimpleData
Doing so makes the test also succeed with gdal-1.10
See http://trac.osgeo.org/gdal/ticket/5208
2013-08-20 18:07:34 +02:00
Sandro Santilli
7a07a25086 Add REINDEX to the list of uncacheable queries 2013-07-24 18:43:38 +02:00
Sandro Santilli
2ee9411889 Review cache-control headers:
* Raise max-age to one year for all cacheable queries
 * Set max-age to 0 for uncacheable (mutating) queries
2013-07-22 17:21:38 +02:00
Luis Bosque
7b6b541083 Revert "Set max-age=0 when using no-cache" 2013-07-10 07:58:35 +02:00
Sandro Santilli
46b7f7a309 Parse all numbers as floats. Closes #100 2013-07-09 21:51:40 +02:00
Sandro Santilli
bc49aebd2a Don't assume SELECT "updated_at" may write to the database.
Closes #99
2013-07-08 17:36:53 +02:00
javi
69b5d825e3 reverted support for get params in post 2013-07-04 16:23:48 +02:00
javi
320e0b97a8 Merge branch 'develop' of github.com:Vizzuality/CartoDB-SQL-API into develop 2013-07-04 16:14:51 +02:00
javi
838c0c93ba Add support for GET params in POST requests 2013-07-04 16:14:44 +02:00
Sandro Santilli
ba28496127 Add support for "text" datatypes in json output format 2013-07-04 16:04:13 +02:00
Sandro Santilli
46e93355c4 Set max-age=0 when using no-cache (don't be self-contraddicting) 2013-06-28 11:17:52 +02:00
Sandro Santilli
7eff0cb107 Retain UTC offset in JSON output for dates
Hopefully helps reducing confusion when using timezone-less
with postgresql, in that the time that comes out of JSON output
matches the one input by user, except it may be in an unexpected
timezone (the server's one)
2013-06-19 12:25:48 +02:00
Sandro Santilli
5e379012a8 Add support for CTE in sql windowing, add unit tests
This is still an undocumented feature, but as long as it's present
and used (by cartodb UI) better tested than broken...

NOTE: more tests are needed for CTE and RETURNING queries
2013-06-17 16:36:36 +02:00
Sandro Santilli
88f1d33b42 Add "fields" member in JSON return. Closes #97 2013-06-14 18:36:05 +02:00
Sandro Santilli
779249801f Fix oAuth unit tests now that we use req.path rather than req.route.path 2013-06-06 17:08:31 +02:00
Sandro Santilli
e03262c5da Upgrade node-postgresql to ~1.1.3 fixing evented query model 2013-06-06 17:06:06 +02:00
Sandro Santilli
339bc0b3a4 Fix windowing support for non-uppercased SELECT queries 2013-06-06 15:24:57 +02:00
javi
0be9e47930 Add arraybuffer format 2013-05-28 10:37:39 +02:00
Sandro Santilli
aff77399b1 Extract geojson test from main test 2013-05-27 17:34:05 +02:00
Sandro Santilli
3f98cab09a Do not execute queries on OPTIONS. Closes #94 2013-05-24 14:21:13 +02:00
Sandro Santilli
985631092b Fix test for custom base_url 2013-05-24 13:51:39 +02:00
Sandro Santilli
cf6bed9bdb Bubble paging UI hack up from model to controller
... one day we'll need to completely drop this hack!
2013-05-24 10:22:17 +02:00
Sandro Santilli
d4bd646388 Move websocket_test/ under test/ 2013-05-24 08:38:57 +02:00
Sandro Santilli
81a83b93e4 Make base url configurable, use a wildcard in the example config 2013-05-23 11:49:23 +02:00
Sandro Santilli
e5ad8f0760 Fix test broken after oAuth interface change introduced in fcf95755
Also improve error message on miscall
2013-05-20 09:06:08 +02:00
Sandro Santilli
833394821c Enhance failing test to show the failure reason 2013-05-15 08:52:26 +02:00
Sandro Santilli
414f4b6c3e Do not request caching of TRUNCATE queries 2013-05-06 18:21:22 +02:00
Sandro Santilli
cc74244b33 Do not choke on multiple skipfields parameter 2013-05-06 12:30:32 +02:00
Sandro Santilli
adf17899e2 testsuite: insert all table values in a single statement 2013-04-11 17:08:26 +02:00
Sandro Santilli
e708d9bf8c Raise mocha timeout to 5 seconds
.. still trying to please the jenkins setup
2013-04-11 16:54:55 +02:00
Sandro Santilli
86e0a45c64 Use a single server in the test for concurrent KML exports
A similar thing should be done for KML and Shapefile, but the focus
here is making jenkins happy for now
2013-04-11 16:21:09 +02:00
Sandro Santilli
0f17889b05 Really fix the tests for unauthorized attempts to write db
It was not about specifying the db trough headers but rather
about referencing the _wrong_ database via params. Also fixes
the expected result (which was indeed wrong).
2013-04-11 13:35:11 +02:00
Sandro Santilli
491c549dcd Fix exit code from test runner
Before this commit it would return success or failure only based
on whether cleanup was successful or bogus
2013-04-11 13:22:47 +02:00
Sandro Santilli
2210d9b588 Fix test using wrong hostname (thus connecting to wrong db) 2013-04-11 13:00:13 +02:00
Sandro Santilli
0ec66c69a7 Allow sql queries to end with a semicolon. Closes #90 2013-04-10 17:21:42 +02:00
Sandro Santilli
e7437ba7cd Rework system catalogue prevention access check to use CDB_QueryTables
This change reduces the chances of false positive
(forbidding legit queries). Doesn't solve the problem of false
negative (allowing illegit queries).
2013-04-09 12:36:37 +02:00
Sandro Santilli
d54d953e75 Another bit of improvement for the system-table query prevention
This work is more important for the testcases than the actual code
2013-04-09 12:20:27 +02:00
Sandro Santilli
1bcffbc68c Make using SET or querying system catalogues harder
An hack to "prevent" querying system tables already existed but
was pretty weak. This commits makes that a bit stronger. The
filter for SET is new.
2013-04-09 11:52:34 +02:00
Sandro Santilli
a9f115cfa5 Rewrite an insert test to not affect a subsequent select test
Closes #84
2013-03-27 16:46:02 +01:00
Sandro Santilli
8f60735b5e Queue export requests for shapefile format. Closes #65 2013-03-27 16:43:12 +01:00
Sandro Santilli
49908e32c5 Add test for concurrently exporting to CSV 2013-03-27 16:09:31 +01:00
Sandro Santilli
6d6dd16446 Draft delegating CSV output to OGR
Adapt tests to new output
2013-03-27 15:41:24 +01:00
Sandro Santilli
58b079e212 Fix reace condition in new KML output, test KML export of empty table 2013-03-26 18:18:13 +01:00
Sandro Santilli
38f99c586a Fix concurrent requests for KML export 2013-03-26 16:59:37 +01:00
Sandro Santilli
f6d45783f6 KML content is already tested 2013-03-26 12:54:20 +01:00
Sandro Santilli
6c0d7813f6 Upgrade generic-pool to ~2.0.2 2013-03-14 11:58:30 +01:00
Sandro Santilli
5fa19a0515 Fix parsing of numeric arrays. Closes #88.
Includes testcase, requires using a fork of node-postgresql.
2013-03-14 11:41:07 +01:00
Sandro Santilli
dc87209033 Do not confuse warnings with errors on shapefile output
Closes #87
2013-02-25 18:32:28 +01:00
Sandro Santilli
8de8bbc460 Add test for multi-statement and begin/commit 2013-02-18 18:39:09 +01:00
Sandro Santilli
d4b1f580ff Fix X-Cache-Channel computation with paging parameters. Closes #85. 2013-02-18 16:19:12 +01:00
Sandro Santilli
197c14f30f Add test focused on x-cache-channel handling 2013-02-13 17:31:53 +01:00
Sandro Santilli
5959e6465a Fix Content-Disposition for error responses. Closes #82 2013-02-13 13:32:34 +01:00
Sandro Santilli
d667d64c78 Fix skipfields use with SHP output format. Closes #81 2013-02-13 13:02:37 +01:00
Sandro Santilli
fdf49bd2ab Add a test for COPY TO file 2013-01-21 17:39:07 +01:00
Sandro Santilli
977ecbeb29 Return an error when "the_geom" is in skipfield for SVG output
Closes #73
2013-01-21 10:06:51 +01:00
Sandro Santilli
19fc0e5854 Fix crash when issuing SQL "COPY" command
This involved upgrade of node-postgresql module.
See https://github.com/brianc/node-postgres/issues/242
2013-01-17 10:14:29 +01:00
Sandro Santilli
ef729a027f Split SVG tests from main test file 2013-01-16 11:16:38 +01:00
Sandro Santilli
76b35b71a1 Split KML tests from main test file 2013-01-16 09:58:09 +01:00
Sandro Santilli
e897cb07d2 Add test for null geoms in geojson
Also drop an hard-coded "the_geom" in geojson output code
2013-01-11 18:57:45 +01:00
Sandro Santilli
ca065e89b9 Omit NULL the_geom features from from geojson and topojson outputs
Closes #80
2013-01-11 18:20:25 +01:00
Sandro Santilli
3e7c8f4d22 Improve mixed geometry export error message. Closes #78 2013-01-11 17:09:22 +01:00
Sandro Santilli
c84f9b1a52 Split SHP tests from main test file 2013-01-11 16:16:28 +01:00
Sandro Santilli
9550837fbe Split CSV tests from main test file 2013-01-11 11:21:59 +01:00
Sandro Santilli
a81b55e421 Include properties to TopoJSON output. Closes #79
Includes support for the skipfields option
2013-01-11 11:10:51 +01:00
Sandro Santilli
39669578b6 Initial support for TopoJSON (#79)
Does not include any attributes in the format
2013-01-09 17:43:23 +01:00
Sandro Santilli
2e85588d99 Format date fields in CSV output 2012-12-07 14:27:02 +01:00
Sandro Santilli
a63cb20be0 Add test for Date field formatting in CSV (#77) 2012-12-07 12:06:44 +01:00
Sandro Santilli
38e750e46d Improve test runner: allow skipping preparation and specify testfiles
Call run_tests.sh with no args to get an help screen
2012-12-07 11:35:37 +01:00
Sandro Santilli
0274425de9 Add another test for CSV truncation (succeeds) 2012-11-16 12:54:09 +01:00
Sandro Santilli
3a641beda8 Fix UTF8 in shapefile export. Closes #66.
Testcases count reaches 100 ! Happy post-post-gis day :)
2012-11-16 12:50:21 +01:00
Sandro Santilli
da05e6f4ca Fix KML export truncation. Closes #947
Also adds test for SHP truncation (isn't trucated)
2012-11-16 12:22:06 +01:00
Sandro Santilli
bd08eb4add Use inline attachment also with POST, if format isn't given 2012-11-14 16:30:18 +01:00
Sandro Santilli
6b7cada97d Never dispose "inline" when using POST. 2012-11-13 19:27:25 +01:00
Sandro Santilli
0ef13f08c2 Use inline disposition when no format and no filename are given
See #61
2012-11-12 19:44:16 +01:00
Sandro Santilli
120cf3f0c5 Add 'cache_policy' parameter. Closes #62 2012-11-12 19:14:20 +01:00
Sandro Santilli
005ae48e3a Support for specifying a list of fields to skip from output.
Closes #63
2012-11-12 17:11:17 +01:00
Sandro Santilli
46cec7a0e5 Add support for specifying a filename for exports. Closes #64
Sets release target to 1.3.0, due to parameter addition
2012-11-12 12:40:53 +01:00
javi
3fd3c5fabc added the needed headers for CORS 2012-11-01 13:17:45 +01:00
Sandro Santilli
9aa28c5bea Initial support for KML output format. Closes #54. 2012-10-25 18:10:56 +02:00
Sandro Santilli
978c0b4cbe Advertise header presence in CSV Content-Type 2012-10-25 13:40:21 +02:00
Sandro Santilli
a6837573c5 Use "attachment" Content-Disposition for all output formats.
Closes #61, includes tests

NOTE: this includes the default "json" format.
2012-10-25 13:34:06 +02:00
Sandro Santilli
5d8eccc81e Fix CSV output with no rows. Closes #60 2012-10-25 13:14:47 +02:00
Sandro Santilli
d0ae7e08a6 Initial support for Shapefile output 2012-10-18 12:51:12 +02:00
Sandro Santilli
d399d2153f Improve input data control in test for "dp" parameter 2012-10-18 11:32:08 +02:00
Sandro Santilli
d9b733e5c6 Recognize ALTER as a writing query 2012-10-15 13:40:04 +02:00
Sandro Santilli
d23416cc60 Set X-Cache-Channel to NONE when the SQL may write to the database
Note that "may write" allows for false positive, so there could be
less cache hits than possibly allowable. If this will be a problem
for any real use case we could still improve the regular expression
used to detect "writing" queries.

Automated tests are added to check for the X-Cache-Channel header
with both writing and read-only queries performed by authenticated
requests.

Closes #27
Closes #43
2012-10-15 13:23:17 +02:00
Sandro Santilli
9c72f66fb3 Put a copy of CDB_* functions from cartodb to this repo
One day we should source those script directly from the cartodb repo
2012-10-15 13:15:48 +02:00
Sandro Santilli
70616b5bea Grant db owner privs on public table too 2012-10-15 13:06:28 +02:00
Sandro Santilli
ac83700810 Send a 404 on unsupported format requested 2012-10-12 12:17:35 +02:00
Sandro Santilli
0d91ab2c6a Survive multiple "format" parameters, only using last one 2012-10-12 11:42:03 +02:00
Sandro Santilli
6a2c0e9727 Initial support for SVG output (#49)
This version only dumps the geometries with no identifier.
Scales geometries to fit in a 1024x768 pixels area, using
a circle radius of 5 pixels, a stroke-width of 1 pixel and
no fill.  Supports trimming number of decimals.
Adds a viewBox tag to fit the drawing to the output device window.

Includes an automated testcase.
2012-10-04 12:04:50 +02:00
Sandro Santilli
4521942820 Test "CSV" format, drop "KML" from the list of supported formats 2012-10-04 12:04:50 +02:00
Sandro Santilli
13b3b2f2ff Don't hide errors during db preparation 2012-10-04 12:04:49 +02:00
Sandro Santilli
2ac6e2d132 Add tests for INSERT/UPDATE/DELETE and _no_ RETURNING (#13) 2012-09-17 16:56:25 +02:00
Sandro Santilli
fe2c6bfe1f Add test for DELETE .. RETURNING (#50) 2012-09-17 16:50:15 +02:00
Sandro Santilli
adfe97bf81 Add test for broken SQL (#51) 2012-09-17 13:04:16 +02:00
Sandro Santilli
8b824801cf Fix INSERT and UPDATE with RETURNING clause. Closes #50
Includes regression test
2012-09-17 11:50:19 +02:00
Sandro Santilli
2d59de1b70 Add a couple of additional tests about forbidden INSERT attempts.
These are:
 - NO api key used
 - INSERT in public table
Both tests are already passing
2012-09-17 11:12:00 +02:00
Sandro Santilli
167e1e1b51 Drop calls to deprecated PSQL.end() 2012-09-04 12:31:50 +02:00
Sandro Santilli
2a817fc70a Re-enable pgsql unit test
Was intended to disabled by 86e1439c2c
but commenting out the middle of a multiline string resulted in a
wider testcases omission, due to:
test/run_tests.sh: 42: test/acceptance/app.test.js: Permission denied
2012-09-04 11:22:53 +02:00
Luis Bosque
86e1439c2c Re-enabled the psql connections pooler. It is
essential.

Related to:
e36bfdef5b
2012-08-29 20:52:17 +02:00
Sandro Santilli
4723c028c9 Use the correct redis variable for checking map key (closes #44)
Includes testcase
2012-08-02 12:18:54 +02:00
Sandro Santilli
acb625b72f Expect correct JSON, never mind formatting of it
This is because express-3.0.0beta6 send indented JSON ...
2012-07-16 17:16:28 +02:00
Sandro Santilli
8fb65874f0 Fix hang in app.auth.test.js and enable running on make check
Closes #38 (yay!)
2012-07-16 13:41:44 +02:00
Sandro Santilli
192bc736ca Disable http client connection pooling while running tests
This is a workaround for issue #38
2012-07-16 13:38:40 +02:00
Sandro Santilli
adae0b483e Enable app acceptance test (no hang with right pgsql version)
See issue #38
2012-07-13 11:13:20 +02:00
Sandro Santilli
aee257c5ef Do not leak "tmp" variable to globals 2012-07-13 11:11:30 +02:00
Sandro Santilli
ce4f99fa7f Print body on unexpected non-200 response status 2012-07-13 11:01:32 +02:00
Sandro Santilli
f7451e9bd8 Update after port to mocha 2012-07-13 10:30:46 +02:00