Skip to main content

ic_testkit/pic/
mod.rs

1//! Direct PocketIC types plus value-adding host-test harness extensions.
2//!
3//! Construct and own [`PocketIc`] instances normally, then import individual
4//! extension traits or [`prelude`] for Candid calls, installation, diagnostics,
5//! snapshots, fallible startup, and nanosecond time conversion. Native
6//! simulator operations remain upstream inherent methods.
7//!
8//! No type in this module serializes independent instances or owns PocketIC's
9//! server download/cache policy.
10
11pub use pocket_ic::{
12    ErrorCode, LATEST_SERVER_VERSION, PocketIc, PocketIcBuilder, RejectCode, RejectResponse,
13};
14
15mod baseline;
16mod baseline_pool;
17mod bounded_pool;
18mod calls;
19mod diagnostics;
20mod errors;
21mod lifecycle;
22mod snapshot;
23mod standalone;
24mod standalone_pool;
25mod startup;
26mod time;
27mod transport;
28
29pub use baseline::{
30    CachedPocketIcBaseline, CachedPocketIcBaselineGuard,
31    restore_or_rebuild_cached_pocket_ic_baseline,
32};
33pub use baseline_pool::{
34    BaselinePoolContractError, BaselinePoolError, BaselinePoolOutcome,
35    BaselinePoolPreparationError, BaselinePoolTimings, BaselinePreparationStage,
36    CachedPocketIcBaselinePool, CachedPocketIcBaselinePoolGuard, CanisterRestoreReceipt,
37    CycleResetPolicy, ExtraCanisterPolicy, FailureDisposition, FixtureRecipeId,
38    PocketIcBaselineRecipe, PreparedBaseline, ReadinessReceipt, RebuildReason, ResetAchievement,
39    ResetDomainKind, ResetReceipt, ResetRequirement, ResetRequirements, StateResetPolicy,
40    TimeResetPolicy, ValidationReceipt,
41};
42pub use calls::CandidCallExt;
43pub use diagnostics::PocketIcDiagnosticsExt;
44pub use errors::{
45    CandidCallContext, CandidCallError, CandidCallErrorKind, CanisterInstallError,
46    StandaloneCanisterInstallError,
47};
48pub use lifecycle::{CanisterInstallExt, InstallSpec, RetryPolicy, RetryPolicyError};
49pub use snapshot::{
50    ControllerSnapshotError, ControllerSnapshots, PocketIcSnapshotExt, SnapshotAttemptFailure,
51    SnapshotCleanupFailure, SnapshotRestoreFunding,
52};
53pub use standalone::StandaloneCanisterFixture;
54pub use standalone_pool::{
55    CachedStandaloneCanisterFixtureGuard, CachedStandaloneCanisterFixturePool,
56};
57pub use startup::{PocketIcBuilderExt, PocketIcStartupError};
58pub use time::PocketIcTimeExt;
59pub use transport::is_dead_pocket_ic_transport_error;
60
61/// All PocketIC extension traits, and no data types.
62///
63/// Importing this module keeps policy/data types explicit while avoiding
64/// repeated trait lists across a large integration-test crate.
65pub mod prelude {
66    pub use super::{
67        CandidCallExt, CanisterInstallExt, PocketIcBuilderExt, PocketIcDiagnosticsExt,
68        PocketIcSnapshotExt, PocketIcTimeExt,
69    };
70}