pub struct TestCronContext {
pub run_id: Uuid,
pub cron_name: String,
pub scheduled_time: DateTime<Utc>,
pub execution_time: DateTime<Utc>,
pub timezone: String,
pub is_catch_up: bool,
pub auth: AuthContext,
pub log: TestCronLog,
/* private fields */
}Expand description
Test context for cron functions.
Provides an isolated testing environment for crons with delay detection, catch-up simulation, and structured logging.
§Example
ⓘ
let ctx = TestCronContext::builder("daily_cleanup")
.scheduled_at(Utc::now() - Duration::minutes(5))
.build();
assert!(ctx.is_late());
ctx.log.info("Starting cleanup");
assert_eq!(ctx.log.entries().len(), 1);Fields§
§run_id: UuidCron run ID.
cron_name: StringCron name.
scheduled_time: DateTime<Utc>Scheduled time.
execution_time: DateTime<Utc>Execution time.
timezone: StringTimezone.
is_catch_up: boolWhether this is a catch-up run.
auth: AuthContextAuthentication context.
log: TestCronLogStructured logger.
Implementations§
Source§impl TestCronContext
impl TestCronContext
Sourcepub fn builder(cron_name: impl Into<String>) -> TestCronContextBuilder
pub fn builder(cron_name: impl Into<String>) -> TestCronContextBuilder
Create a new builder.
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 TestCronContext
impl EnvAccess for TestCronContext
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 TestCronContext
impl !RefUnwindSafe for TestCronContext
impl Send for TestCronContext
impl Sync for TestCronContext
impl Unpin for TestCronContext
impl !UnwindSafe for TestCronContext
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