Files
codex/codex-rs/exec-server/tests/initialize.rs
T
Adam Perry 4882aa428f perf(exec-server): return environment info during initialize
(cherry picked from commit a27fea9943e5f9b7c83ebf79e3eb1ef8f0859c18)
2026-07-10 05:57:27 +00:00

42 lines
1.3 KiB
Rust

#![cfg(unix)]
mod common;
use codex_exec_server::EnvironmentInfo;
use codex_exec_server::InitializeParams;
use codex_exec_server::InitializeResponse;
use codex_exec_server_protocol::JSONRPCMessage;
use codex_exec_server_protocol::JSONRPCResponse;
use common::exec_server::exec_server;
use pretty_assertions::assert_eq;
use uuid::Uuid;
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
async fn exec_server_accepts_initialize() -> anyhow::Result<()> {
let mut server = exec_server().await?;
let initialize_id = server
.send_request(
"initialize",
serde_json::to_value(InitializeParams {
client_name: "exec-server-test".to_string(),
resume_session_id: None,
})?,
)
.await?;
let response = server.next_event().await?;
let JSONRPCMessage::Response(JSONRPCResponse { id, result }) = response else {
panic!("expected initialize response");
};
assert_eq!(id, initialize_id);
let initialize_response: InitializeResponse = serde_json::from_value(result)?;
Uuid::parse_str(&initialize_response.session_id)?;
assert_eq!(
initialize_response.environment_info,
Some(EnvironmentInfo::local())
);
server.shutdown().await?;
Ok(())
}