datdotorg / datdot-node-rust

datdot blockchain node in rust
https://playproject.io/datdot-node-rust
GNU General Public License v3.0
48 stars 9 forks source link

make lab environment to reliably test substrate chain scenarios #16

Closed serapath closed 4 years ago

serapath commented 4 years ago

@todo


TESTING STRATEGY

  1. pull real data from dat to have test data
  2. submit it to substrate
  3. to verify

TESTING

CURRENT PRACTICE:

GOAL:

  1. have integration tests where we can spin up

  2. multiple substrate nodes on different platforms and see if they

  3. connect to each other and work in expected ways.

  4. If people will install datdot on windows, linux, macosx

  5. some maybe rip out the internals to run it on servers

    • and avoid the electron app
  6. ...and who knows if somebody makes it work on mobile OS's

GOAL:

  1. so, having a way to spin up all those different OS in the cloud
  2. and install datdot and connect and test to reproduce problems which might occur in practice later on

TEST SCENARIO 0

  1. use forceRegistering to check basic logic

TEST SCENARIO 1

  1. register seeders
  2. register data
  3. log usersStorage and datHosters

JOSHUAS REMARK: just grepping the codebase for node_testing to see how it's being used but there are some really good benchmarks and tests in node/executor I think I'll adapt them for our module and just use that just discovered they can give is the concrete block size info you wanted

JOSHUAS COMMENT: (NOVEMBER 13th) there are some testing scaffolding and you can test runtime functions individually, for example writing integration tests by calling RPC via rust, but presetting state and simulating interactions is not super easy.