Struct holochain::sweettest::SweetConductor[][src]

pub struct SweetConductor { /* fields omitted */ }
Expand description

A useful Conductor abstraction for testing, allowing startup and shutdown as well as easy installation of apps across multiple Conductors and Agents.

This is intentionally NOT Clone, because the drop handle triggers a shutdown of the conductor handle, which would render all other cloned instances useless. If you need multiple references to a SweetConductor, put it in an Arc

Implementations

Create a SweetConductor from an already-built ConductorHandle and environments DnaStore The conductor will be supplied with a single test AppInterface named “sweet-interface” so that signals may be emitted

Create a SweetConductor with a new set of TestEnvs from the given config

Create a SweetConductor from a partially-configured ConductorBuilder

Create a handle from an existing environment and config

Create a SweetConductor with a new set of TestEnvs from the given config

Access the TestEnvs for this conductor

Access the KeystoreSender for this conductor

Convenience function that uses the internal handle to enable an app

Convenience function that uses the internal handle to disable an app

Convenience function that uses the internal handle to start an app

Convenience function that uses the internal handle to pause an app

Opinionated app setup. Creates an app for the given agent, using the given DnaFiles, with no extra configuration.

Opinionated app setup. Creates an app using the given DnaFiles, with no extra configuration. An AgentPubKey will be generated, and is accessible via the returned SweetApp.

Opinionated app setup. Creates one app per agent, using the given DnaFiles.

All InstalledAppIds and CellNicks are auto-generated. In tests driven directly by Rust, you typically won’t care what these values are set to, but in case you do, they are set as so:

  • InstalledAppId: {app_id_prefix}-{agent_pub_key}
  • CellNick: {dna_hash}

Returns a batch of SweetApps, sorted in the same order as Agents passed in.

Get a stream of all Signals emitted on the “sweet-interface” AppInterface.

This is designed to crash if called more than once, because as currently implemented, creating multiple signal streams would simply cause multiple consumers of the same underlying streams, not a fresh subscription

Get a new websocket client which can send requests over the admin interface. It presupposes that an admin interface has been configured. (The standard_config includes an admin interface at port 0.)

Shutdown this conductor. This will wait for the conductor to shutdown but keep the inner state to restart it.

Attempting to use this conductor without starting it up again will cause a panic.

Start up this conductor if it’s not already running.

Check if this conductor is running

Get the ConductorHandle within this Conductor. Be careful when using this, because this leaks out handles, which may make it harder to shut down the conductor during tests.

Force trigger all dht ops that haven’t received enough validation receipts yet.

Methods from Deref<Target = SweetConductorHandle>

Handle accessor.

Make a zome call to a Cell, as if that Cell were the caller. Most common case. No capability is necessary, since the authorship capability is automatically granted.

Like call, but without the unwrap

Make a zome call to a Cell, as if some other Cell were the caller. More general case. Can optionally provide a capability.

Like call_from, but without the unwrap

Manually await shutting down the conductor. Conductors are already cleaned up on drop but this is useful if you need to know when it’s finished cleaning up.

Trait Implementations

Performs the conversion.

Immutably borrows from an owned value. Read more

The resulting type after dereferencing.

Dereferences the value.

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

TODO: once 1.33.0 is the minimum supported compiler version, remove Any::type_id_compat and use StdAny::type_id instead. https://github.com/rust-lang/rust/issues/27745 Read more

The archived version of the pointer metadata for this type.

Converts some archived metadata to the pointer metadata for itself.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Attaches the provided Context to this type, returning a WithContext wrapper. Read more

Attaches the current Context to this type, returning a WithContext wrapper. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The type for metadata in pointers and references to Self.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more