Commit Graph

458 Commits

Author SHA1 Message Date
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