1pub use pocket_ic::{ErrorCode, PocketIc, PocketIcBuilder, RejectCode, RejectResponse};
4
5mod baseline;
6mod calls;
7mod diagnostics;
8mod errors;
9mod lifecycle;
10mod snapshot;
11mod standalone;
12mod startup;
13mod time;
14
15pub use baseline::{
16 CachedPocketIcBaseline, CachedPocketIcBaselineGuard,
17 restore_or_rebuild_cached_pocket_ic_baseline,
18};
19pub use calls::CandidCallExt;
20pub use diagnostics::PocketIcDiagnosticsExt;
21pub use errors::{
22 CandidCallContext, CandidCallError, CandidCallErrorKind, CanisterInstallError,
23 StandaloneCanisterFixtureError,
24};
25pub use lifecycle::{CanisterInstallExt, InstallSpec, RetryPolicy};
26pub use snapshot::{
27 ControllerSnapshotError, ControllerSnapshots, PocketIcSnapshotExt, SnapshotAttemptFailure,
28 SnapshotCleanupFailure,
29};
30pub use standalone::{
31 StandaloneCanisterFixture, install_prebuilt_canister, install_prebuilt_canister_from_spec,
32 install_prebuilt_canister_with_cycles, try_install_prebuilt_canister,
33 try_install_prebuilt_canister_from_spec, try_install_prebuilt_canister_with_cycles,
34};
35pub use startup::PocketIcStartError;
36pub use time::PocketIcTimeExt;
37
38#[must_use]
40pub fn pic() -> PocketIc {
41 try_pic().unwrap_or_else(|err| panic!("failed to start PocketIC: {err}"))
42}
43
44pub fn try_pic() -> Result<PocketIc, PocketIcStartError> {
46 try_build_pocket_ic(PocketIcBuilder::new().with_application_subnet())
47}
48
49#[must_use]
51pub fn build_pocket_ic(builder: PocketIcBuilder) -> PocketIc {
52 try_build_pocket_ic(builder).unwrap_or_else(|err| panic!("failed to start PocketIC: {err}"))
53}
54
55pub fn try_build_pocket_ic(builder: PocketIcBuilder) -> Result<PocketIc, PocketIcStartError> {
57 startup::try_build_pocket_ic(builder)
58}