Skip to content

Latest commit

 

History

History

platform-test-suite

Dash Platform Test Suite

Latest Release Build Status Release Date standard-readme compliant

The test suite for end-to-end and functional testing the Dash Platform by running some real-life scenarios against a Dash Network

Table of Contents

Pre-requisites

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.

Usage

Running locally

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

Running using Docker

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

Contributing

Feel free to dive in! Open an issue or submit PRs.

License

MIT © Dash Core Group, Inc.