pub struct PlayBuilder {
config: Option<PlayConfig>,
}Expand description
Builder for Play instances with closure-based execution
Use Play::builder() to create a builder, then chain configuration methods
and call run() to execute your test with automatic cleanup.
§Example
ⓘ
use bitwarden_test::play::{Play, SingleUserArgs, SingleUserScene};
#[tokio::test]
async fn test_user_login() {
Play::builder()
.run(|play| async move {
let args = SingleUserArgs {
email: "[email protected]".to_string(),
..Default::default()
};
let scene = play.scene::<SingleUserScene>(&args).await.unwrap();
// Cleanup happens automatically when run() completes
})
.await;
}Fields§
§config: Option<PlayConfig>Implementations§
Source§impl PlayBuilder
impl PlayBuilder
Sourcepub fn config(self, config: PlayConfig) -> Self
pub fn config(self, config: PlayConfig) -> Self
Set custom configuration for the Play instance
If not called, configuration is loaded from environment variables.
Sourcepub async fn run<F, Fut, T>(self, f: F) -> T
pub async fn run<F, Fut, T>(self, f: F) -> T
Run a test with automatic cleanup
The closure receives a Play instance and can perform any test operations.
Cleanup is guaranteed to run after the closure completes, regardless of
whether it returns normally or panics.
§Panics
If the closure panics, cleanup still runs before the panic is propagated.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PlayBuilder
impl RefUnwindSafe for PlayBuilder
impl Send for PlayBuilder
impl Sync for PlayBuilder
impl Unpin for PlayBuilder
impl UnwindSafe for PlayBuilder
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
Create a new handle for an Arc value Read more
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
Clone a handle Read more
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Consume a handle, getting back the initial
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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