diff --git a/codex-rs/app-server/tests/suite/v2/config_rpc.rs b/codex-rs/app-server/tests/suite/v2/config_rpc.rs index c0c250892d..210da5b797 100644 --- a/codex-rs/app-server/tests/suite/v2/config_rpc.rs +++ b/codex-rs/app-server/tests/suite/v2/config_rpc.rs @@ -474,3 +474,50 @@ async fn config_batch_write_applies_multiple_edits() -> Result<()> { Ok(()) } + +fn assert_layers_user_then_optional_system( + layers: &[codex_app_server_protocol::ConfigLayer], + user_file: AbsolutePathBuf, +) -> Result<()> { + if cfg!(unix) { + let system_file = AbsolutePathBuf::from_absolute_path(SYSTEM_CONFIG_TOML_FILE_UNIX)?; + assert_eq!(layers.len(), 2); + assert_eq!(layers[0].name, ConfigLayerSource::User { file: user_file }); + assert_eq!( + layers[1].name, + ConfigLayerSource::System { file: system_file } + ); + } else { + assert_eq!(layers.len(), 1); + assert_eq!(layers[0].name, ConfigLayerSource::User { file: user_file }); + } + Ok(()) +} + +fn assert_layers_managed_user_then_optional_system( + layers: &[codex_app_server_protocol::ConfigLayer], + managed_file: AbsolutePathBuf, + user_file: AbsolutePathBuf, +) -> Result<()> { + if cfg!(unix) { + let system_file = AbsolutePathBuf::from_absolute_path(SYSTEM_CONFIG_TOML_FILE_UNIX)?; + assert_eq!(layers.len(), 3); + assert_eq!( + layers[0].name, + ConfigLayerSource::LegacyManagedConfigTomlFromFile { file: managed_file } + ); + assert_eq!(layers[1].name, ConfigLayerSource::User { file: user_file }); + assert_eq!( + layers[2].name, + ConfigLayerSource::System { file: system_file } + ); + } else { + assert_eq!(layers.len(), 2); + assert_eq!( + layers[0].name, + ConfigLayerSource::LegacyManagedConfigTomlFromFile { file: managed_file } + ); + assert_eq!(layers[1].name, ConfigLayerSource::User { file: user_file }); + } + Ok(()) +}