pub struct IcpUser {
pub principal: Principal,
/* private fields */
}
Expand description
A simulated Internet Computer user for use in tests.
Provides a simplified API for calling methods and deploying canisters.
Wraps a Principal
identity and a reference to the PocketIc
test environment.
Fields§
§principal: Principal
The user’s principal identity used for calls and deployments.
Implementations§
Source§impl IcpUser
impl IcpUser
Sourcepub fn call<ResultType>(
&self,
canister_id: Principal,
call_mode: CallMode,
method: &str,
args: Result<Vec<u8>, Error>,
) -> CallBuilder<ResultType, Self>where
ResultType: for<'a> Deserialize<'a> + CandidType,
pub fn call<ResultType>(
&self,
canister_id: Principal,
call_mode: CallMode,
method: &str,
args: Result<Vec<u8>, Error>,
) -> CallBuilder<ResultType, Self>where
ResultType: for<'a> Deserialize<'a> + CandidType,
Prepare a canister method call builder for the user.
§Parameters
canister_id
: The principal ID of the target canister.call_mode
: Whether the call is a query or an update.method
: The name of the method to invoke.args
: Encoded Candid arguments or an error.
§Returns
A CallBuilder
for the specified method, result type, and context.
Sourcepub fn deploy<Canister>(
&self,
args: Result<Vec<u8>, Error>,
new: fn(&Self, Principal) -> Canister,
) -> DeployBuilder<Canister, Self>
pub fn deploy<Canister>( &self, args: Result<Vec<u8>, Error>, new: fn(&Self, Principal) -> Canister, ) -> DeployBuilder<Canister, Self>
Prepare a new canister deployment as this user.
§Parameters
args
: Encoded Candid arguments for the canister constructor, or an error.new
: A function to instantiate the canister wrapper after deployment.
§Returns
A DeployBuilder
for the specified canister.
Trait Implementations§
Source§impl Caller for IcpUser
impl Caller for IcpUser
Source§fn call<ResultType>(
&self,
canister_id: Principal,
call_mode: CallMode,
method: &str,
args: Result<Vec<u8>, Error>,
) -> CallBuilder<ResultType, Self::Provider>where
ResultType: for<'a> Deserialize<'a> + CandidType,
fn call<ResultType>(
&self,
canister_id: Principal,
call_mode: CallMode,
method: &str,
args: Result<Vec<u8>, Error>,
) -> CallBuilder<ResultType, Self::Provider>where
ResultType: for<'a> Deserialize<'a> + CandidType,
Dispatch a call via this user, required by the Caller
trait.
type Provider = IcpUser
Auto Trait Implementations§
impl Freeze for IcpUser
impl !RefUnwindSafe for IcpUser
impl Send for IcpUser
impl Sync for IcpUser
impl Unpin for IcpUser
impl !UnwindSafe for IcpUser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more