
* Problem: we don't have any tests for malicious strings Solution: Use a parameterized test that fuzzes over a library of potentially hazardous strings * Needed to update the Dockerfile to install blns * Removed unnecessary import from Dockerfile-dev * Made the conditions under which the test expects an error more explicit * Improved reporting in case of a bad status code * Removed some over-zealous assertions. * Removed `sent_transaction` from assertation error response * *Problem: blns was removed as a dependency while fixing a merge conflict Solution: added it back to the Dockerfile * *Problem: made a typo when adding blns to the Dockerfile Solution: fixed the typo
Acceptance test suite
This directory contains the acceptance test suite for BigchainDB.
The suite uses Docker Compose to set up a single BigchainDB node, run all tests, and finally stop the node. In the future we will add support for a four node network setup.
Running the tests
It should be as easy as make test-acceptance
.
Note that make test-acceptance
will take some time to start the node and shutting it down. If you are developing a test, or you wish to run a specific test in the acceptance test suite, first start the node with make start
. After the node is running, you can run pytest
inside the python-acceptance
container with:
docker-compose run --rm python-acceptance pytest <use whatever option you need>
Writing and documenting the tests
Tests are sometimes difficult to read. For acceptance tests, we try to be really explicit on what the test is doing, so please write code that is simple and easy to understand. We decided to use literate-programming documentation. To generate the documentation run:
make doc-acceptance