()
| 788 | |
| 789 | #[tokio::test] |
| 790 | async fn test_connect_error_recorded_in_status() { |
| 791 | use std::collections::HashMap; |
| 792 | let manager = McpManager::new(); |
| 793 | |
| 794 | let config = McpServerConfig { |
| 795 | name: "bad-server".to_string(), |
| 796 | transport: McpTransportConfig::Stdio { |
| 797 | // `true` exits immediately — not a valid MCP server |
| 798 | command: "true".to_string(), |
| 799 | args: vec![], |
| 800 | }, |
| 801 | enabled: true, |
| 802 | env: HashMap::new(), |
| 803 | oauth: None, |
| 804 | tool_timeout_secs: 5, |
| 805 | }; |
| 806 | |
| 807 | manager.register_server(config).await; |
| 808 | // connect() will fail; error must be stored |
| 809 | let _ = manager.connect("bad-server").await; |
| 810 | |
| 811 | let status = manager.get_status().await; |
| 812 | let s = &status["bad-server"]; |
| 813 | assert!(!s.connected, "server should not be connected"); |
| 814 | assert!( |
| 815 | s.error.is_some(), |
| 816 | "error should be recorded after failed connect" |
| 817 | ); |
| 818 | } |
| 819 | |
| 820 | #[tokio::test] |
| 821 | async fn test_get_all_tools_returns_server_name_not_full_name() { |
nothing calls this directly
no test coverage detected