pub struct APITestCase { /* private fields */ }Expand description
Base test case for API testing
Provides:
- Pre-configured APIClient
- Automatic setup/teardown via AsyncTestResource
- Assertion helpers
- Optional TestContainer database integration
§Example
use reinhardt_testkit::testcase::APITestCase;
use reinhardt_testkit::resource::AsyncTeardownGuard;
use rstest::*;
#[fixture]
async fn api_test() -> AsyncTeardownGuard<APITestCase> {
AsyncTeardownGuard::new().await
}
#[rstest]
#[tokio::test]
async fn test_list_users(#[future] api_test: AsyncTeardownGuard<APITestCase>) {
let case = api_test.await;
let response = case.client().await.get("/api/users/").await.unwrap();
response.assert_ok();
}Implementations§
Source§impl APITestCase
impl APITestCase
Sourcepub async fn client(&self) -> RwLockReadGuard<'_, APIClient>
pub async fn client(&self) -> RwLockReadGuard<'_, APIClient>
Get the test client
Sourcepub async fn client_mut(&self) -> RwLockWriteGuard<'_, APIClient>
pub async fn client_mut(&self) -> RwLockWriteGuard<'_, APIClient>
Get mutable access to the test client
Trait Implementations§
Auto Trait Implementations§
impl Freeze for APITestCase
impl !RefUnwindSafe for APITestCase
impl Send for APITestCase
impl Sync for APITestCase
impl Unpin for APITestCase
impl UnsafeUnpin for APITestCase
impl !UnwindSafe for APITestCase
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> 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