# Document automated testing across the Holo organization, including but not limited to: ###### tags: `holo-notes` `holo-notes-testing` ## Testing tools and frameworks - 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 - Used In: - Holofuel - SL - JCH - Mocha or tape - Testing javascript services and API's - Used In - hpos-holochain-api - ... - 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 - Used In - holo-nixpkgs ## 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 - puppeteer with mocha #### 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) - Only for Dev use #### 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.) - All DNA's