Go to file
Rafa de la Torre 8505857412 Make error_handler.test.js independent from other tests #543
This is needed to avoid a "test race" and get it closer to a real unit
test.

When running it along with others it passes:

```
$ make test-unit
...
  48 passing (54ms)
  12 pending
```

(note it relies on the ordering produced by `find`)

when running it along with some other test that reads the config, it
works as well:

```
$ test/run_tests.sh  test/unit/apikeyauth.test.js test/unit/error_handler.test.js
...
  3 passing (9ms)
  12 pending
```

but when run in isolation, it fails:

```
$ test/run_tests.sh test/unit/error_handler.test.js
...
  0 passing (15ms)
  3 failing

  1) error-handler should return a header with errors:
     TypeError: Cannot read property 'environment' of undefined
      at errorMiddleware (app/middlewares/error.js:10:28)
      at Context.<anonymous> (test/unit/error_handler.test.js:53:26)

  2) error-handler JSONP should return a header with error statuscode:
     TypeError: Cannot read property 'environment' of undefined
      at errorMiddleware (app/middlewares/error.js:10:28)
      at Context.<anonymous> (test/unit/error_handler.test.js:79:26)

  3) error-handler should escape chars that broke logs regex:
     TypeError: Cannot read property 'environment' of undefined
      at errorMiddleware (app/middlewares/error.js:10:28)
      at Context.<anonymous> (test/unit/error_handler.test.js:108:26)
```
2018-12-05 16:22:48 +01:00
app cancel query when Quota exceeded or max POST size 2018-11-29 18:15:14 +01:00
batch reopenFileStreams to parent class 2018-06-18 18:47:12 +02:00
client Use strict mode 2018-10-24 15:42:33 +02:00
config/environments Set the default copy_from_max_post_size to 2 GB 2018-07-26 12:52:20 +02:00
doc Modify python code example to really stream data 2018-08-02 17:43:07 +02:00
logs updated gitignore and added required directories for node cluster to work out of the box 2011-09-05 17:01:23 +01:00
test Make error_handler.test.js independent from other tests #543 2018-12-05 16:22:48 +01:00
tools Allow specifying api key via CDBSQL_APIKEY env variable 2013-07-17 10:29:19 +02:00
.gitignore Ignore log and yarn.lock 2018-06-04 19:07:03 +02:00
.jshintignore Format files split into pg and ogr directories 2015-05-13 15:15:53 +02:00
.jshintrc Allow es6 syntax 2017-08-04 17:11:45 +02:00
.travis.yml Be able run CI test agaisnt Node.js 6 and 10 2018-11-07 18:37:05 +01:00
app.js Use let instead of var 2018-11-15 14:34:36 +01:00
carto-package.json PostGIS uses 4 numbers for versions 2018-08-17 10:45:02 +02:00
configure Have ./configure tolerate unknown options 2014-10-08 10:12:52 +02:00
CONTRIBUTING.md Fixed wrong contributing url 2017-01-25 10:49:29 +01:00
docker-bash.sh Be able run CI test agaisnt Node.js 6 and 10 2018-11-07 18:37:05 +01:00
docker-test.sh Fix arguments in docker command 2018-11-07 19:22:13 +01:00
HOWTO_RELEASE Fixed unit test for job queue and moved isJobFound function as private method in job backend 2016-01-22 12:43:41 +01:00
LICENSE Adds notes about contributing 2015-09-08 16:40:33 +02:00
Makefile Priority for tests instead of lint 2016-12-19 15:29:29 +01:00
NEWS.md Prepare next release 2018-11-22 11:45:03 +01:00
npm-shrinkwrap.json Prepare next release 2018-11-22 11:45:03 +01:00
package-lock.json Prepare next release 2018-11-22 11:45:03 +01:00
package.json Prepare next release 2018-11-22 11:45:03 +01:00
README.md Update core requirements 2017-08-11 14:48:01 +02:00

SQL API for carto.com

Build Status

Provides a node.js based API for running SQL queries against CartoDB.

  • Users are authenticated over OAuth or via an API KEY.
  • Authenticated requests to this API should always be made over SSL.

core requirements

  • Postgres 9.3+.
  • Postgis 2.2.
  • CartoDB Postgres Extension 0.19+.
  • GDAL 1.11.0 (bin utils). See installing GDAL
  • zip commandline tool.
  • Redis 3, recommended reversion 3.0.2.
  • Node.js 6, recommended reversion 6.9.2.
  • npm 3, recommended version 3.10.9.

Install dependencies

npm install

usage

Create and edit config/environments/.js from .js.example files. You may find the ./configure script useful to make an edited copy for you, see ./configure --help for a list of supported switches.

Make sure redis is running and knows about active cartodb user.

Make sure your PostgreSQL server is running, is accessible on the host and port specified in the file, has a 'publicuser' role (or whatever you set db_pubuser configuration directive to) and trusts user authentication from localhost connections.

node app.js <environment>

Supported values are development, test, production

See doc/API.md for API documentation. For examples of use, see under test/.

tests

Run with:

npm test

If any issue arise see test/README.md

Note that the environment should be set to ensure the default PostgreSQL user is superuser (PGUSER=postgres make check).

Contributing

See CONTRIBUTING.md.