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