--- layout: docs title: Docs - Testing nav: docs toc: testing ---

Testing

We don't require authentication to use our production API endpoints, so you are welcome to develop and test against our real API. However, if you're running a bunch of continuous integration tests (Jenkins, Travis CI, etc.), you'll likely hit our rate limits quickly.

NOTE: If you want to setup a development environment and run tests for the ballotapi code itself, check out our contributing docs.

To make your lives easier, we have setup several testing domains with a small subset of data from our ballot database that have more test-friendly rate limits. That way, you can still run automated tests against them without constantly hitting our production rate limits.

If you want to run your tests completely internally, you are welcome to spin up your own test server. Below are the steps to quickly spin up an equivalent of api-test.ballotapi.org on your own system.

If you want to update your existing installation, simply download our repo again (see "Download and unzip the repo..." steps above) and run the same command (python server.py --load ...). It will automatically clear and reload the testdata dataset into the database.

Are these setup instructions incorrect? Help us out by opening an issue or pull request