Codex Handbook
memories/write/src/guard_tests.rs 79 lines
use super::*;use codex_protocol::protocol::RateLimitReachedType;fn snapshot(    primary_used_percent: Option<f64>,    secondary_used_percent: Option<f64>,) -> RateLimitSnapshot {    RateLimitSnapshot {        limit_id: Some(crate::guard_limits::CODEX_LIMIT_ID.to_string()),        limit_name: None,        primary: primary_used_percent.map(window),        secondary: secondary_used_percent.map(window),        credits: None,        individual_limit: None,        plan_type: None,        rate_limit_reached_type: None,    }}fn window(used_percent: f64) -> RateLimitWindow {    RateLimitWindow {        used_percent,        window_minutes: None,        resets_at: None,    }}#[test]fn startup_check_uses_configured_remaining_threshold() {    let snapshot = snapshot(        /*primary_used_percent*/ Some(89.9),        /*secondary_used_percent*/ Some(50.0),    );    assert!(snapshot_allows_startup(        &snapshot, /*min_remaining_percent*/ 10    ));    assert!(!snapshot_allows_startup(        &snapshot, /*min_remaining_percent*/ 11    ));}#[test]fn startup_check_skips_when_primary_or_secondary_is_too_low() {    assert!(!snapshot_allows_startup(        &snapshot(            /*primary_used_percent*/ Some(75.1),            /*secondary_used_percent*/ Some(10.0),        ),        /*min_remaining_percent*/ 25,    ));    assert!(!snapshot_allows_startup(        &snapshot(            /*primary_used_percent*/ Some(10.0),            /*secondary_used_percent*/ Some(75.1),        ),        /*min_remaining_percent*/ 25,    ));    assert!(snapshot_allows_startup(        &snapshot(            /*primary_used_percent*/ Some(74.9),            /*secondary_used_percent*/ Some(74.9),        ),        /*min_remaining_percent*/ 25,    ));}#[test]fn startup_check_skips_when_limit_is_reached() {    let mut snapshot = snapshot(        /*primary_used_percent*/ Some(10.0),        /*secondary_used_percent*/ Some(10.0),    );    snapshot.rate_limit_reached_type = Some(RateLimitReachedType::RateLimitReached);    assert!(!snapshot_allows_startup(        &snapshot, /*min_remaining_percent*/ 25,    ));}