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
Sandro Santilli
e4f3a94256
Port tests to mocha. Closes #35 .
2012-07-13 10:29:09 +02:00
Sandro Santilli
538d9850a0
Reuse the same log file for both redis and db preparator
2012-07-12 22:55:34 +02:00
Sandro Santilli
1462c3ed3e
Hide errors from dropdb (expected the first time)
2012-07-12 22:38:15 +02:00
Sandro Santilli
89d74970e1
Give more info on unexpected response status code
2012-07-12 22:09:14 +02:00
Sandro Santilli
0c0770bcd4
Enable psql test now that it doesn't hang anymore
2012-07-12 20:16:38 +02:00
Sandro Santilli
a307e1434e
Enable more tests (all the one succeeding for me). Closes #36
...
The metadata test was probably failing due to the redis_pool test
not waiting for redis to complete before exiting (or something
like that).
2012-07-12 18:21:39 +02:00
Sandro Santilli
debc0c2586
Run tests on "make check", using custom port for redis
...
Includes tweaks in the db preparation script and in the tests
for proper handling of async model. Only a single test is run
at the moment, being the only one that succeeded for me.
2012-07-12 18:10:56 +02:00
Simon Tokumine
374583e655
add tests and refactor validations for input parameters. closes #29
2012-06-06 19:47:21 +01:00
Simon Tokumine
fb61c32850
add acceptance test for default dp change in geojson
2012-06-06 18:57:50 +01:00
Simon Tokumine
9d2410fb32
updated readme to reflect api key:
2012-06-01 21:19:02 +01:00
Simon Tokumine
22923e3f0f
formatting and semi colons
2012-06-01 21:13:41 +01:00
Simon Tokumine
aa1e306881
formatting and semi colons
2012-06-01 21:12:29 +01:00
Simon Tokumine
7c15a1218a
remove redundant test"
2012-06-01 21:09:38 +01:00
Simon Tokumine
9e411425b3
formatting and semi colons
2012-06-01 21:07:22 +01:00
Simon Tokumine
39118d326f
formatting and semi colons
2012-06-01 21:06:33 +01:00
Simon Tokumine
8735646675
fix oauth unit tests
2012-06-01 21:03:37 +01:00
Simon Tokumine
92660caea4
hard to do oauth units, possibly move to acceptance fully
2012-06-01 21:00:45 +01:00
Simon Tokumine
a062721cc6
psql units passing
2012-06-01 20:55:25 +01:00
Simon Tokumine
dae217cec7
psql units passing
2012-06-01 20:50:09 +01:00
Simon Tokumine
6b8e9a826b
redis unit test pass
2012-06-01 20:47:47 +01:00
Simon Tokumine
060208e26c
metadata unit test tidy
2012-06-01 20:47:14 +01:00
Simon Tokumine
0313b7b1ac
metadata unit test
2012-06-01 20:46:38 +01:00
Simon Tokumine
4d93abf1a1
added simple oauth test
2012-05-08 16:08:28 +01:00
Simon Tokumine
d7df8b1449
fix api key tests
2012-05-08 15:25:19 +01:00
Simon Tokumine
4cbdf62cc2
make wellformed CSV and stream back to browser. #9
2012-04-13 15:37:09 +01:00
Simon Tokumine
ffc1fa3fe1
closes #11 . closes #9 . Pending reorganisation.
2012-04-13 00:30:45 +01:00
Simon Tokumine
81f44f2935
merge conflicts
2012-04-10 12:56:22 +01:00
Simon Tokumine
dd9de25616
node v0.6 compatibility
2012-03-16 13:50:07 +01:00
Sandro Santilli
f437d7c820
Another 80cols wrap
2012-03-14 11:02:32 +01:00
javi santana
59739483e8
added auth using api token
2011-12-26 19:16:41 +01:00
Simon Tokumine
025f201ea8
add system table sanitizer
2011-11-22 00:06:14 +00:00
Simon Tokumine
8ebdd0474c
Add test for system tables
2011-11-21 23:06:38 +00:00
Simon Tokumine
de191ed33b
Add decimal place limiting to geojson call
2011-11-08 23:35:59 +00:00
Simon Tokumine
f740d9ea14
words have meaning.
2011-10-28 12:18:06 +01:00
Simon Tokumine
555e072195
tidy geojson, add content-disposition and remove KML for now. Closes #7
2011-10-28 12:11:18 +01:00
javi santana
b8ce75be56
Edited test/README.md via GitHub
2011-10-05 18:58:26 +03:00
javi santana
9e9f5cd3cc
Edited test/README.md via GitHub
2011-10-05 18:57:54 +03:00
javi
cec594322a
updated readme
2011-10-05 17:56:57 +02:00
javi
b3012ff73c
added test fixtures
2011-10-05 17:49:54 +02:00
Simon Tokumine
5064ded0e7
upgraded pg package. tests updated
2011-09-07 15:33:40 +01:00
Simon Tokumine
d9870305da
updated to post
2011-09-07 12:05:10 +01:00
Simon Tokumine
082807695c
updated error messages
2011-08-25 11:15:52 +01:00
Simon Tokumine
f10cd72e0b
updated acceptance tests for host name based public api and made work :)
2011-08-24 20:47:10 +01:00
Simon Tokumine
e19240c2dc
metadata tests and added getID
2011-08-24 13:46:36 +01:00
Simon Tokumine
ce4413cbda
added body_hash to oauth check and stopped firing exception if incomplete oauth variables sent
2011-08-22 13:33:12 +01:00
Simon Tokumine
bb08f4f982
further fixes for public
2011-08-17 18:42:19 +01:00
Simon Tokumine
fd58592546
enable public user again
2011-08-17 17:32:54 +01:00
Simon Tokumine
fefa051450
added true oauth to application. got rid of bogus
2011-08-17 17:27:45 +01:00
Alvaro Bautista
f0df331fb4
Change request path from /v1 to /api/v1
2011-07-04 17:28:39 +02:00
Simon Tokumine
317da1f311
added dangerous test
2011-06-20 18:22:46 +02:00
Simon Tokumine
719644e76d
added public user shouldn't insert test
2011-06-20 18:03:29 +02:00
Simon Tokumine
80ecdc565c
oauth
2011-06-20 15:39:12 +02:00
Simon Tokumine
f47c611dfc
added redis pool, and fixed to use pg_bouncer
2011-06-16 18:23:38 +02:00
Fernando Blat
21277ff9d2
Introduced a new parameter db_port to change it in a easy way
...
Some space and linebreaks cleaning
2011-06-13 12:31:50 +02:00
Simon Tokumine
0626d03b37
Remove cruft
2011-06-13 05:02:52 +01:00
Simon Tokumine
bcd56de458
first draft, tidied, unit tests, modules, refactor, environments, see TODO for next steps"
2011-06-13 04:23:02 +01:00
Fernando Blat
159f72fe3d
First version of the API server with some TODOs to solve
2011-06-09 18:34:02 +02:00