| 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")), |
| ], |
| ); |
| } |
|
|