Files
codex-proxy-rs/tests/codex_websocket_test.rs
T
2026-06-12 00:40:02 +08:00

42 lines
1.2 KiB
Rust

use codex_proxy_rs::codex::{
types::CodexResponsesRequest,
websocket::{ensure_http_sse_supported, transport_for_request, CodexTransport},
};
#[test]
fn transport_for_request_should_allow_http_sse_without_websocket_only_fields() {
let request = base_request();
assert_eq!(transport_for_request(&request), CodexTransport::HttpSse);
assert!(ensure_http_sse_supported(&request).is_ok());
}
#[test]
fn transport_for_request_should_require_websocket_for_previous_response_id() {
let mut request = base_request();
request.previous_response_id = Some("resp_123".to_string());
assert_eq!(
transport_for_request(&request),
CodexTransport::WebSocketRequired
);
assert_eq!(
ensure_http_sse_supported(&request).unwrap_err().to_string(),
"previous_response_id requires Codex WebSocket transport"
);
}
fn base_request() -> CodexResponsesRequest {
CodexResponsesRequest {
model: "gpt-5.5".to_string(),
instructions: String::new(),
input: Vec::new(),
stream: true,
store: false,
reasoning: None,
tools: None,
previous_response_id: None,
use_websocket: false,
}
}