You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dataservices-api/test
Jesús Arroyo Torrens edbefad6b0
Remove DO Python code and SQL tests
4 years ago
..
fixtures Fixed geocode street point integration tests 9 years ago
helpers Update tolerance and fixture values 5 years ago
integration Remove DO Python code and SQL tests 4 years ago
README.md Remove DO Python code and SQL tests 4 years ago
__init__.py Created helper to be used in all the tests 9 years ago
requirements.txt Update dependencies to fix vulnerabilities 5 years ago
run_tests.py Deconding the tests output 5 years ago

README.md

Geocoder API integration tests

This are the automatic integration tests for geocoder api (both client and server)

Usage

In order to execute the tests you have to execute the run_tests.py python script:

python run_tests.py [--host=cartodb.com --schema=https] username api_key

You can define the host where is going to execute the SQL API queries to test the geocoder API. By default the value is cartodb.com but you can put the host you need.

Tests

This suite of tests test the following parts of the geocoding API through the SQL API:

  • Admin 0 functions
  • Admin 1 functions
  • Named places functions
  • Postal code functions
  • Ip address functions
  • Street address functions (This will call Heremaps or Google so it will cost you 2 credits)
  • Routing functions
  • Isolines functions

How to debug the tests

You won't be able to plug a debugger when using the run_test.py because of the usage of a subprocess and the piping.

You should be aware that some tests require some extra setup (a test table), that you'll need to do on your own in some cases (check the ImportHelper.import_test_dataset)

In order to do so, you need to use plain nosetests which comes prepared to that.

First, add this to the python test code:

from nose.tools import set_trace; set_trace()

Secondly, execute just your test with this:

GEOCODER_API_TEST_USERNAME=your_username \
GEOCODER_API_TEST_API_KEY=your_api_key \
GEOCODER_API_TEST_TABLE_NAME=your_test_table \
GEOCODER_API_TEST_HOST=your_target_test_host \
nosetests --where=integration/ test_admin1_functions.py:TestAdmin1Functions.test_if_select_with_admin1_without_country_is_ok

(replace the environment variables, test file, class and function according to your needs)

TODO: we need to refactor the test code a little to avoid these hindrances