Development¶
All assistance is appreciated! New features, documentation fixes, bug reports, bug fixes, and more are graciously accepted.
Getting started¶
To get set up, fork the project on our Github page. You can then install from source by following the instructions in Installation. There are a few additional dependencies for compiling the docs and running the tests:
You can install all dependencies using pip from the requirements.txt
file:
pip install -r requirements.txt
Running the tests¶
Once you’re all installed up, ensure that the tests pass by running them. You can run the local unit tests with the following command:
./tests/run_tests.py
However, the above command skips some integration tests that actually hit the remote Authorize.net test server. This is done so the main test suite can be run quickly and without an internet connection. However, you should occasionally run the full test suite, which can be done by setting an environment variable:
AUTHORIZE_LIVE_TESTS=1 ./tests/run_tests.py
Testing in all supported Python versions¶
Since Authorize Sauce supports multiple Python versions, running the tests in your currently installed Python version may not be enough. You can use tox to automate running the tests in all supported versions of Python.
First, install tox, if you haven’t already:
pip install tox
# or easy_install tox
Running it is simple:
tox
If you want to only test against a subset of Python versions, you can do so:
tox -e py27,py34
As above, you can set an environment variable to run the full test suite in every supported Python version:
AUTHORIZE_LIVE_TESTS=1 tox
Note: tox requires that the tested Python versions are already present on your system. If you need to install one or more versions of Python, pyenv or (for Ubuntu) the deadsnakes PPA can be helpful.
Authorize.net documentation¶
The Authorize.net documentation somehow manages to be both overly verbose and fairly uninformative. That said, you can find it here:
Submitting bugs and patches¶
If you have a bug to report, please do so on our Github issues page. If you’ve got a fork with a new feature or a bug fix with tests, please send us a pull request.