npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@holochain/tryorama

v0.17.0

Published

Toolset to manage Holochain conductors and facilitate running test scenarios

Downloads

2,575

Readme

Project Discord License: CAL 1.0 Test

Tryorama

Tryorama provides a convenient way to run an arbitrary amount of Holochain conductors on your local machine, as well as on network nodes that are running the TryCP service. In combination with the test runner and assertion library of your choice, you can test the behavior of multiple Holochain nodes in a network. Included functions to clean up used resources make sure that all state is deleted between tests so that they are independent of one another.

npm install @holochain/tryorama

Complete API reference

Compatibility

Tryorama v0.17.x is compatible with JS client v0.18.x and Holochain v0.4.x.

Tryorama v0.16.x is compatible with JS client v0.17.x and Holochain v0.3.x.

Tryorama v0.15.x is compatible with JS client v0.16.x and Holochain v0.2.x.

Example

With a few lines of code you can start testing your Holochain application. The examples in this repository use tape as test runner and assertion library. You can choose any other runner and library.

Example with 2 conductors creating and reading an entry.

There are lots of examples for working with scenarios and conductors in the scenario and conductor test folders.

Curried function to get a zome caller

Example

Signals

Scenario.addPlayerWithHapp as well as Conductor.installAgentsHapps allow for a signal handler to be specified. Signal handlers are registered with the conductor and act as a callback when a signal is received.

Example sending and receiving a signal

Logging

The log level can be set with the environment variable TRYORAMA_LOG_LEVEL. Log levels used in Tryorama are debug, verbose and info. The default level is info. To set the log level for a test run, prepend the test command with:

TRYORAMA_LOG_LEVEL=debug node test.js

Concepts

Scenarios provide high-level functions to interact with the Holochain Conductor API. Players consist of a conductor, an agent and installed hApps, and can be added to a Scenario. Access to installed hApps is made available through the cells, which can either be destructured according to the sequence during installation or retrieved by their role id.

One level underneath the Scenario is the Conductor. Apart from methods for creation, startup and shutdown, it comes with complete functionality of Admin and App API that the JavaScript client offers.