Skip to main content

PocketIcBaselineRecipe

Trait PocketIcBaselineRecipe 

Source
pub trait PocketIcBaselineRecipe:
    Send
    + Sync
    + 'static {
    type Metadata: Send + 'static;
    type Error: Error + Send + Sync + 'static;

    // Required methods
    fn id(&self) -> &FixtureRecipeId;
    fn reset_requirements(&self) -> &ResetRequirements;
    fn build(
        &self,
    ) -> Result<CachedPocketIcBaseline<Self::Metadata>, Self::Error>;
    fn restore_canisters(
        &self,
        baseline: &CachedPocketIcBaseline<Self::Metadata>,
    ) -> Result<CanisterRestoreReceipt, Self::Error>;
    fn reset_non_snapshot_state(
        &self,
        baseline: &CachedPocketIcBaseline<Self::Metadata>,
    ) -> Result<ResetReceipt, Self::Error>;
    fn drive_to_readiness(
        &self,
        baseline: &CachedPocketIcBaseline<Self::Metadata>,
    ) -> Result<ReadinessReceipt, Self::Error>;
    fn validate(
        &self,
        baseline: &CachedPocketIcBaseline<Self::Metadata>,
        preparation: &PreparedBaseline,
    ) -> Result<ValidationReceipt, Self::Error>;

    // Provided method
    fn classify_failure(
        &self,
        stage: BaselinePreparationStage,
        _error: &Self::Error,
    ) -> FailureDisposition { ... }
}
Expand description

Complete caller-owned lifecycle recipe for one pooled PocketIC baseline.

Required Associated Types§

Source

type Metadata: Send + 'static

Metadata retained beside every baseline owned by this recipe.

Source

type Error: Error + Send + Sync + 'static

Structured caller error shared by recipe lifecycle stages.

Required Methods§

Source

fn id(&self) -> &FixtureRecipeId

Stable caller-owned recipe identity.

Source

fn reset_requirements(&self) -> &ResetRequirements

Reset guarantees required before an existing slot may be reused.

Source

fn build(&self) -> Result<CachedPocketIcBaseline<Self::Metadata>, Self::Error>

Construct and capture one complete baseline.

Source

fn restore_canisters( &self, baseline: &CachedPocketIcBaseline<Self::Metadata>, ) -> Result<CanisterRestoreReceipt, Self::Error>

Restore every captured canister and report the cycle policy applied.

Source

fn reset_non_snapshot_state( &self, baseline: &CachedPocketIcBaseline<Self::Metadata>, ) -> Result<ResetReceipt, Self::Error>

Reset state not covered by canister snapshots.

Source

fn drive_to_readiness( &self, baseline: &CachedPocketIcBaseline<Self::Metadata>, ) -> Result<ReadinessReceipt, Self::Error>

Drive the topology to the recipe’s readiness boundary.

Source

fn validate( &self, baseline: &CachedPocketIcBaseline<Self::Metadata>, preparation: &PreparedBaseline, ) -> Result<ValidationReceipt, Self::Error>

Validate the same baseline invariants after build and restore.

Provided Methods§

Source

fn classify_failure( &self, stage: BaselinePreparationStage, _error: &Self::Error, ) -> FailureDisposition

Classify a restored-slot recipe failure as fatal or rebuildable.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§