pub struct TestQueryContext {
pub auth: AuthContext,
pub request: RequestMetadata,
/* private fields */
}Expand description
Test context for query functions.
Provides an isolated testing environment for queries with configurable authentication and optional database access.
§Example
ⓘ
// Simple authenticated context
let ctx = TestQueryContext::authenticated(Uuid::new_v4());
// Context with roles and claims
let ctx = TestQueryContext::builder()
.as_user(Uuid::new_v4())
.with_role("admin")
.with_claim("org_id", json!("org-123"))
.build();Fields§
§auth: AuthContextAuthentication context.
request: RequestMetadataRequest metadata.
Implementations§
Source§impl TestQueryContext
impl TestQueryContext
Sourcepub fn builder() -> TestQueryContextBuilder
pub fn builder() -> TestQueryContextBuilder
Create a new builder.
Sourcepub fn authenticated(user_id: Uuid) -> Self
pub fn authenticated(user_id: Uuid) -> Self
Create an authenticated context with the given user ID (no database).
Sourcepub fn with_pool(pool: PgPool, user_id: Option<Uuid>) -> Self
pub fn with_pool(pool: PgPool, user_id: Option<Uuid>) -> Self
Create a context with a database pool.
Sourcepub fn require_user_id(&self) -> Result<Uuid>
pub fn require_user_id(&self) -> Result<Uuid>
Get the authenticated user ID or return an error.
Sourcepub fn require_subject(&self) -> Result<&str>
pub fn require_subject(&self) -> Result<&str>
Like require_user_id() but for non-UUID auth providers.
Sourcepub fn env_mock(&self) -> &MockEnvProvider
pub fn env_mock(&self) -> &MockEnvProvider
Get the mock env provider for verification.
Trait Implementations§
Source§impl EnvAccess for TestQueryContext
impl EnvAccess for TestQueryContext
Source§fn env_provider(&self) -> &dyn EnvProvider
fn env_provider(&self) -> &dyn EnvProvider
Get the environment provider.
Source§fn env_or(&self, key: &str, default: &str) -> String
fn env_or(&self, key: &str, default: &str) -> String
Get an environment variable with a default value. Read more
Source§fn env_require(&self, key: &str) -> Result<String>
fn env_require(&self, key: &str) -> Result<String>
Get a required environment variable. Read more
Source§fn env_parse<T: FromStr>(&self, key: &str) -> Result<T>
fn env_parse<T: FromStr>(&self, key: &str) -> Result<T>
Get an environment variable and parse it to the specified type. Read more
Source§fn env_parse_or<T: FromStr>(&self, key: &str, default: T) -> Result<T>
fn env_parse_or<T: FromStr>(&self, key: &str, default: T) -> Result<T>
Get an environment variable and parse it, with a default. Read more
Source§fn env_contains(&self, key: &str) -> bool
fn env_contains(&self, key: &str) -> bool
Check if an environment variable is set.
Auto Trait Implementations§
impl Freeze for TestQueryContext
impl !RefUnwindSafe for TestQueryContext
impl Send for TestQueryContext
impl Sync for TestQueryContext
impl Unpin for TestQueryContext
impl !UnwindSafe for TestQueryContext
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