Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multi: Add E2E Test Suite #18

Merged
merged 6 commits into from
Feb 9, 2021
Merged

multi: Add E2E Test Suite #18

merged 6 commits into from
Feb 9, 2021

Conversation

matheusd
Copy link
Member

This adds a full End-to-End test suite to assert correct dcrros behavior, including running the required rosetta-cli check:data and check:construction tests on a local simnet that exercises a large number of situations actually found on chain.

The first commits perform some preparatory work to enable running consistent run of the e2e tests.

The main commit adds a new internal package that can produce the e2etest binary: that binary runs appropriate simnet dcrd, dcrwallet and dcrros nodes, prepares a test chain then executes the rosetta-cli tests.

The Github Actions CI is modified to run the e2e tests for all available db types. A Dockerfile is also included to allow running the e2e tests following the Rosetta spec recommendations.

This allows converting a Rosetta Error structure into a standard Go
error.

This will be used in a future commit.
They are not needed as tests are fast and the rpctest tag isn't used
anywhere.
This allows specifying the embedded dcrd instance to run and bind the
rpc address on a specific port.
This helps in mainnet where it takes longer to fetch the list of peers
from DNS seeders.
This adds the first version of the full End-to-End test suite to dcrros.

This test suite aims to exercise a large portion of the features found
in the mainnet Decred chain by generating an extensive simnet, then
syncing a dcrros instance to it and then performing the rosetta-cli
check:data and check:construction tests.
This adds Dockerfile.e2e which can be used to exercise the full E2E test
suite in a docker container. It also sets up the Github Actions CI to
build the production run of dcrros and to build and run the E2E test
suite under various scenarios.
@matheusd matheusd merged commit da07e3c into decred:master Feb 9, 2021
@matheusd matheusd deleted the docker-tests branch February 9, 2021 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant