Document automated testing across the Holo organization, including but not limited to:
- JavaScript & Typescript
- Tryorama
- When is this used: This is for unit testing Holochain DNA's
- Used In:
- Holofuel
- SL
- JCH
- HHA
- dummy-dna
- tryCP:
- This is used for load testing holochain DNA's locally
- Mocha or tape
- Testing javascript services and API's
- Rust Testing frameworks
- Testing rust services and API's
- Used In:
- envoy
- configure-holochain
- …
- Pupeteer
- This is used to run integration tests on UI's
- used in
- nightly tests
- Holofuel UI tests
- nixOS tests
- This is used to run unit tests on nix code i.e. holoport code
Nightly tests
Application/Subject Under Test (SUT)
- Holoport setup (not registration)
- Holo hosting
Environment (Dev. QA, Alpha, Master(Prod)
- Nightly tests are only run on Dev
- They are also run before every PR is merged into dev
Brief description of testing
- The Basic holo hosting is tested
- Log-in to host-console
- Publish and hosting a happ
- Hosted user accessing a hosted happ and making zome calls
Framework used
URL/Location of Test Suite (Github, Google Drive, etc.)
https://github.com/Holo-Host/nightly-network-test/
Test cases/coverage
- Test of host console UI functions
- Sign in with host credentials
- Check if authenticated calls to holoport apis are successful
- Check if unauthenticated call to holoport api fails with 401
- Sign out host
- Test of hosted happ UI connected to holo network (Dummy DNA and UI)
- Sign out and check there's no more agent present
- Sign in and check if connected to the same host
- Receives a signal
- Calls cell and receives signal from different cell
- Calls second cell
- Check old transactions
Ownership
- Holo Devs that update holo-nixpkgs
Who owns the test suite?
- Holo Devs that update holo-nixpkgs
Who is accountable for maintenance?
- Holo Devs that update holo-nixpkgs
Run schedule
- Every night
- And before every PR merged into develop of holo-nixpkgs
Test Maintenance
- How/when are tests reviewed and updated?
Currently this is to keep tabs on the general working of our eco-system, so when work on holo-nixpkgs are made
Who is responsible for maintaining the testing framework?
~~
How often is the framework updated?
~~
Test Results/Reporting
The nightly runs are reported on the Holo-Hosting channel on MM
Process for reviewing results
Its a pass or fail result.
Who is responsible for reviewing/troubleshooting failures?
Holo devs
When/how are defects/issues reported?
This notifies us of a broken service or a regression, Based on passed experiences it breaks due to know updates and is tracked by devs
How/when are test results/trends reported to a wider audience?#
Not applicable. Only ment for internal dev use
Tryorama tests
Application/Subject Under Test (SUT)
All Holo DNAs
- Holofuel
- Holo-Hosting-app
- servieclogger
- joining-code-factory
- dummy-dna
Environment (Dev. QA, Alpha, Master(Prod)
Brief description of testing
- This is a unit testing framework that is used to test DNA's
- They are a part of the dev life-cycle
- Its spins us multiple local holochain nodes and intracts with each other based in the applications
Framework used
- Tryorama
- Tape
- Languages: Typescript
URL/Location of Test Suite (Github, Google Drive, etc.)