bigchaindb/acceptance
Zachary Bowen f243b252ca Problem: we don't have any tests to cover malicious strings (#2334)
* 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
2018-07-10 17:30:00 +02:00
..
python Problem: we don't have any tests to cover malicious strings (#2334) 2018-07-10 17:30:00 +02:00
README.md Problem: acceptance-test suite is not documented (#2267) 2018-05-11 09:50:08 +02:00

README.md

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