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 calls;
17mod diagnostics;
18mod errors;
19mod lifecycle;
20mod snapshot;
21mod standalone;
22mod standalone_pool;
23mod startup;
24mod time;
25mod transport;
26
27pub use baseline::{
28    CachedPocketIcBaseline, CachedPocketIcBaselineGuard,
29    restore_or_rebuild_cached_pocket_ic_baseline,
30};
31pub use calls::CandidCallExt;
32pub use diagnostics::PocketIcDiagnosticsExt;
33pub use errors::{
34    CandidCallContext, CandidCallError, CandidCallErrorKind, CanisterInstallError,
35    StandaloneCanisterInstallError,
36};
37pub use lifecycle::{CanisterInstallExt, InstallSpec, RetryPolicy, RetryPolicyError};
38pub use snapshot::{
39    ControllerSnapshotError, ControllerSnapshots, PocketIcSnapshotExt, SnapshotAttemptFailure,
40    SnapshotCleanupFailure, SnapshotRestoreFunding,
41};
42pub use standalone::StandaloneCanisterFixture;
43pub use standalone_pool::{
44    CachedStandaloneCanisterFixtureGuard, CachedStandaloneCanisterFixturePool,
45};
46pub use startup::{PocketIcBuilderExt, PocketIcStartupError};
47pub use time::PocketIcTimeExt;
48
49/// All PocketIC extension traits, and no data types.
50///
51/// Importing this module keeps policy/data types explicit while avoiding
52/// repeated trait lists across a large integration-test crate.
53pub mod prelude {
54    pub use super::{
55        CandidCallExt, CanisterInstallExt, PocketIcBuilderExt, PocketIcDiagnosticsExt,
56        PocketIcSnapshotExt, PocketIcTimeExt,
57    };
58}