Testing¶
Warning
Use of the Sandbox Environment is required when running the test suite.
Unit and integration tests for iexfinance are handled by the pytest platform.
Testing & Documentation Dependencies¶
Note
Running the test suite and linting the code & documentation require Python 3.6 or above.
All testing dependencies can be installed via pip install -r requirements-dev.txt
.
Testing
black
codecov
flake8
flake8-bugbear
flake8-rst
pytest
pytest-runner
tox
All documentation dependencies can be installed via pip install -r docs/requirements.txt
.
Docs
ipython
matplotlib
requests-cache
sphinx
sphinx-rtd-theme
sphinxcontrib-napoleon
sphinx-autobuild (optional)
Sandbox Environment¶
IEX provides a sandbox environment for IEX Cloud. This environment can be accessed by setting IEX_API_VERSION
to sandbox
. This will set iexfinance
up for use with the sandbox base URL.
Note
Test keys (beginning with Tsk
and Tpk
) must be used with the sandbox environment. To obtain these keys, select the Viewing test data toggler on the left side of the IEX Cloud console.
Local Testing¶
A BASH script test.sh
is included in the
top-level iexfinance directory. This script will emulate the tests
needed for a TravisCI build to pass.
The iexfinance
documentation can be tested with Sphinx (with extensions napoleon and sphinx_rtd_theme)
using the Makefile. make livehtml
will serve the dev documentation site locally
on 127.0.0.1:8000.
Exceptions¶
-
exception
iexfinance.utils.exceptions.
IEXAuthenticationError
(msg)¶ This error is thrown when there is an authentication issue with an IEX cloud request.
-
exception
iexfinance.utils.exceptions.
IEXQueryError
(status, response)¶ This error is thrown when an error occurs with the query to IEX, be it a network problem or an invalid query.
-
exception
iexfinance.utils.exceptions.
ImmediateDeprecationError
(endpoint)¶