raiden-network / scenario-player

MIT License
1 stars 16 forks source link

Develop a smoke test for the scenario player #350

Closed christianbrb closed 4 years ago

christianbrb commented 4 years ago

Analysis

Current State

Currently, the test coverage is at ~60%. It is important to keep the scenario player stable. Therefore we are running a manual test if major changes have been made.

Problem

The manual tests are time-consuming and might not touch all parts of the software. In addition small changes might not get smoke tested and therefore lead to errors.

Solution

Create a pragmatic way (eg. running the bf1 scenario) for a smoke test

deepbrook commented 4 years ago

Running one of the nightly scenarios seems to touch on too many components that would be out of scope for a smoke test.

Per definition, smoke tests should verify the build, indicating if any further testing makes sense.

That being said, I believe the following would be the desired scope of such tests:

Luckily, this can be tested with a no-op scenario. Although this isn't quite ideal (it still requires an internet connection for contract deployments, etc), it would serve as a good start.

deepbrook commented 4 years ago

The linked PR now extends to including a utility, as we cannot test the previously stated features without shipping a funded account (or requiring the user to supply one).

The utility creates a complete stack to run a scenario - test net genesis file, eth nodes, and contracts.

It currently relies on an update to raiden to include a new raiden_contracts version, as 0.25.1 is currently undeployable to private networks.

deepbrook commented 4 years ago

@Dominik1999 please fund 0x54b819488D4c864c4098BCA61F1BF840E52D2f38 with some goeth for our smoketest scenario.

Dominik1999 commented 4 years ago

https://goerli.etherscan.io/tx/0xbf2f814f957da4ed240411d3d737be88c32a7b7e7d5f5c046763bea618b5d12b

deepbrook commented 4 years ago

https://circleci.com/gh/raiden-network/scenario-player/2662

Smoketests are run successfully on circle.