The test suite for end-to-end and functional testing the Dash Platform by running some real-life scenarios against a Dash Network
You may run test-suite against any platform compatible network, or even local node. To run locally make sure you have Node.js installed. To run using Docker, make sure you have it installed.
Install all the necessary dependencies:
$ yarn
Use ./bin/test.sh
script to run tests:
$ ./bin/test.sh
Run test suite
Usage: test <seed> [options]
<seed> can be IP or IP:port (or pass via DAPI_SEED env)
Options:
-s=a,b,c --scope=a,b,c - test scope to run
-k=key --faucet-key=key - faucet private key string
-n=network --network=network - use regtest, devnet or testnet
--skip-sync-before-height=H - start sync funding wallet from specific height
--dpns-tld-identity-private-key=private_key - top level identity private key
--dpns-tld-identity-id=tld_identity_id - top level identity id
--dpns-contract-id=tld_contract_id - dpns contract id
--feature-flags-identity-id=ff_identity_id - feature-flags contract id
--feature-flags-contract-id=ff_contract_id - feature-flags contract id
--faucet-wallet-use-storage=true - use persistent wallet storage for faucet
--faucet-wallet-storage-dir=absolute_dir - specify directory where faucet wallet persistent storage will be stored
-t --timeout - test timeout in milliseconds
-h --help - show help
Possible scopes:
e2e
functional
core
platform
e2e:dpns
e2e:contacts
functional:core
functional:platform
Just run pre-built image using the same arguments as running locally:
$ docker run --network=host --env ./.env dashpay/platform-test-suite
Run test suite
Usage: test <seed> [options]
<seed> can be IP or IP:port (or pass via DAPI_SEED env)
Options:
-s=a,b,c --scope=a,b,c - test scope to run
-k=key --faucet-key=key - faucet private key string
-n=network --network=network - use regtest, devnet or testnet
--skip-sync-before-height=H - start sync funding wallet from specific height
--dpns-tld-identity-private-key=private_key - top level identity private key
--dpns-tld-identity-id=tld_identity_id - top level identity id
--dpns-contract-id=tld_contract_id - dpns contract id
--feature-flags-identity-id=ff_identity_id - feature-flags contract id
--feature-flags-contract-id=ff_contract_id - feature-flags contract id
--faucet-wallet-use-storage=true - use persistent wallet storage for faucet
--faucet-wallet-storage-dir=absolute_dir - specify directory where faucet wallet persistent storage will be stored
-t --timeout - test timeout in milliseconds
-h --help - show help
Possible scopes:
e2e
functional
core
platform
e2e:dpns
e2e:contacts
functional:core
functional:platform
Feel free to dive in! Open an issue or submit PRs.
MIT © Dash Core Group, Inc.