Codex Handbook
core/src/windows_sandbox_tests.rs 117 lines
use super::*;use codex_config::types::WindowsToml;use codex_features::Features;use codex_features::FeaturesToml;use pretty_assertions::assert_eq;use std::collections::BTreeMap;#[test]fn elevated_flag_works_by_itself() {    let mut features = Features::with_defaults();    features.enable(Feature::WindowsSandboxElevated);    assert_eq!(        WindowsSandboxLevel::from_features(&features),        WindowsSandboxLevel::Elevated    );}#[test]fn restricted_token_flag_works_by_itself() {    let mut features = Features::with_defaults();    features.enable(Feature::WindowsSandbox);    assert_eq!(        WindowsSandboxLevel::from_features(&features),        WindowsSandboxLevel::RestrictedToken    );}#[test]fn no_flags_means_no_sandbox() {    let features = Features::with_defaults();    assert_eq!(        WindowsSandboxLevel::from_features(&features),        WindowsSandboxLevel::Disabled    );}#[test]fn elevated_wins_when_both_flags_are_enabled() {    let mut features = Features::with_defaults();    features.enable(Feature::WindowsSandbox);    features.enable(Feature::WindowsSandboxElevated);    assert_eq!(        WindowsSandboxLevel::from_features(&features),        WindowsSandboxLevel::Elevated    );}#[test]fn legacy_mode_prefers_elevated() {    let mut entries = BTreeMap::new();    entries.insert(        "experimental_windows_sandbox".to_string(),        /*value*/ true,    );    entries.insert("elevated_windows_sandbox".to_string(), /*value*/ true);    assert_eq!(        legacy_windows_sandbox_mode_from_entries(&entries),        Some(WindowsSandboxModeToml::Elevated)    );}#[test]fn legacy_mode_supports_alias_key() {    let mut entries = BTreeMap::new();    entries.insert(        "enable_experimental_windows_sandbox".to_string(),        /*value*/ true,    );    assert_eq!(        legacy_windows_sandbox_mode_from_entries(&entries),        Some(WindowsSandboxModeToml::Unelevated)    );}#[test]fn resolve_windows_sandbox_mode_falls_back_to_legacy_keys() {    let mut entries = BTreeMap::new();    entries.insert(        "experimental_windows_sandbox".to_string(),        /*value*/ true,    );    let cfg = ConfigToml {        features: Some(FeaturesToml::from(entries)),        ..Default::default()    };    assert_eq!(        resolve_windows_sandbox_mode(&cfg),        Some(WindowsSandboxModeToml::Unelevated)    );}#[test]fn resolve_windows_sandbox_private_desktop_defaults_to_true() {    assert!(resolve_windows_sandbox_private_desktop(        &ConfigToml::default()    ));}#[test]fn resolve_windows_sandbox_private_desktop_respects_explicit_cfg_value() {    let cfg = ConfigToml {        windows: Some(WindowsToml {            sandbox_private_desktop: Some(false),            ..Default::default()        }),        ..Default::default()    };    assert!(!resolve_windows_sandbox_private_desktop(&cfg));}