Lorenz Herzberger bf5b88fcb2
Scalable integration test (#57)
* updated Dockerfile-all-in-one

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* adjusted all-in-one.bash and monit conf to work with dockerized setup

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* integration tests pass inconsistently

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* added timeout for integration test pass

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* add startup control logic, adjusted tests to wait for transactions

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* added pre-config for docker-compose approach, removed remnants of old integration tests

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* reverted changes to pkg, split pre-config, added clean-shared service

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* fixed path in all-in-one.bash

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* added ipdb copyright notice

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* chmod planetmint-monit-config

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* removed entrypoint from Dockerfile-all-in-one

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* added integration stage to travis matrix

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* removed unused secret

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* changed pre-config and docker-compose.integration.yml to support scaling

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* using env var to control number of nodes

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* make test-integration now scalable

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* added make docs-integration, added .gitignore to python integration tests, updated readme and removed clutter

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* fixed linter errors

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* disable planetmint for test purpose

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* test docker-compose down

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* disable every job except integration test

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* need more logs

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* name collision?

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* reverted changes to debug ci

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* added TODO for ci optimization

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2022-03-08 14:38:40 +01:00

1.0 KiB

Integration test suite

This directory contains the integration test suite for Planetmint.

The suite uses Docker Compose to spin up multiple Planetmint nodes, run tests with pytest as well as cli tests and teardown.

Running the tests

Run make test-integration in the project root directory.

By default the integration test suite spins up four planetmint nodes. If you desire to run a different configuration you can pass SCALE=<number of nodes> as an environmental variable.

Writing and documenting the tests

Tests are sometimes difficult to read. For integration 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 for python tests run:

make docs-integration