use super::referenced_environment_variables; use codex_config::DEFAULT_MCP_SERVER_ENVIRONMENT_ID; use codex_config::McpServerConfig; use pretty_assertions::assert_eq; #[test] fn remote_http_connections_track_host_headers_but_not_executor_bearer_tokens() { let mut config: McpServerConfig = serde_json::from_value(serde_json::json!({ "url": "https://example.com/mcp", "environment_id": "executor-1", "bearer_token_env_var": "NODE_REPL_AUTH_TOKEN", "env_http_headers": {"X-Api-Key": "PATH"}, })) .expect("remote MCP configuration should deserialize"); assert_eq!( referenced_environment_variables(&config), vec![("PATH".to_string(), std::env::var_os("PATH"))], ); let remote_host_bearer: McpServerConfig = serde_json::from_value(serde_json::json!({ "url": "https://example.com/mcp", "environment_id": "executor-1", "bearer_token_env_var": "PATH", })) .expect("host-resolved remote MCP configuration should deserialize"); assert_eq!( referenced_environment_variables(&remote_host_bearer), vec![("PATH".to_string(), std::env::var_os("PATH"))], ); config.environment_id = DEFAULT_MCP_SERVER_ENVIRONMENT_ID.to_string(); assert_eq!( referenced_environment_variables(&config), vec![ ( "NODE_REPL_AUTH_TOKEN".to_string(), std::env::var_os("NODE_REPL_AUTH_TOKEN"), ), ("PATH".to_string(), std::env::var_os("PATH")), ], ); }