Files
codex/codex-rs/protocol/src/openai_models/access_programs_tests.rs
T
jamy-OAI ac558e2a32 Resolve saved Daybreak preferences against advertised model programs (#59192)
## What changed

Add `SavedDaybreakChoice` and `ModelAccessPrograms::select_saved` to resolve an optional saved preference. Enabled selects an advertised Daybreak program, disabled selects an advertised standard program, and unset or unsupported choices return `None`.

## Testing

Extend selection tests to cover enabled, disabled, and unset preferences across advertised program combinations, preserving the preference for Daybreak Blue over Red.

GitOrigin-RevId: 1c7ab3fe1d3a48ad64519bfedfe27de90838516c
2026-11-03 16:33:17 +00:00

40 lines
1.2 KiB
Rust

#![cfg(test)]
use super::ModelAccessPrograms;
use super::SavedDaybreakChoice;
use crate::turn_input::CyberAccessProgram;
use pretty_assertions::assert_eq;
#[test]
fn selects_only_advertised_programs_with_blue_preferred() {
use CyberAccessProgram::*;
for (cyber, expected_daybreak, expected_standard) in [
(
vec![Standard, DaybreakRed, DaybreakBlue],
Some(DaybreakBlue),
Some(Standard),
),
(vec![DaybreakRed], Some(DaybreakRed), None),
(vec![Standard], None, Some(Standard)),
(vec![], None, None),
] {
let programs = ModelAccessPrograms { cyber };
assert_eq!(
(
programs.daybreak(),
programs.standard(),
programs.select_saved(SavedDaybreakChoice::from(Some(true))),
programs.select_saved(SavedDaybreakChoice::from(Some(false))),
programs.select_saved(SavedDaybreakChoice::from(/* enabled */ None)),
),
(
expected_daybreak,
expected_standard,
expected_daybreak,
expected_standard,
None,
)
);
}
}