use std::time::Duration;
use tokio::time::timeout;
#[tokio::test]
async fn test_mcp_handshake() {
let config = bevy_debugger_mcp::config::Config {
bevy_brp_host: "localhost".to_string(),
bevy_brp_port: 15702,
mcp_port: 3001, };
let brp_client = std::sync::Arc::new(tokio::sync::RwLock::new(
bevy_debugger_mcp::brp_client::BrpClient::new(&config),
));
let server = bevy_debugger_mcp::mcp_server::McpServer::new(config, brp_client);
let result = timeout(
Duration::from_secs(1),
server.handle_tool_call("observe", serde_json::json!({"query": "test"})),
)
.await;
assert!(result.is_ok());
let response = result.unwrap().unwrap();
assert!(response.get("error").is_some());
}