diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-17 01:41:17 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-17 01:41:17 +0300 |
| commit | f7fe0f203e0f349df33819aab239c0aade016f79 (patch) | |
| tree | 51540d4a040a1a2d32ecf73c5c2d9277a7d4efef /tests | |
| parent | 3ecacfddae86d603bfd0d1a0c01602b1d34b1df3 (diff) | |
fix: polish terminal-core agent semantics
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/api_ping.rs | 29 | ||||
| -rw-r--r-- | tests/cli_wrapper.rs | 16 |
2 files changed, 37 insertions, 8 deletions
diff --git a/tests/api_ping.rs b/tests/api_ping.rs index 4300b54e..066c9179 100644 --- a/tests/api_ping.rs +++ b/tests/api_ping.rs @@ -661,20 +661,26 @@ fn agent_methods_round_trip_over_socket() { let agents = listed["result"]["agents"].as_array().unwrap(); assert_eq!(agents.len(), 1); assert_eq!(agents[0]["terminal_id"], terminal_id); - assert_eq!(agents[0]["name"], "worker"); + assert!(agents[0].get("name").is_none()); assert_eq!(agents[0]["agent"], "pi"); assert_eq!(agents[0]["agent_status"], "working"); assert_eq!(agents[0]["pane_id"], pane_id); - let fetched_by_name = send_request( + let fetched_by_detected_agent = send_request( &socket_path, - r#"{"id":"agent_get_name","method":"agent.get","params":{"target":"worker"}}"#, + r#"{"id":"agent_get_detected","method":"agent.get","params":{"target":"pi"}}"#, ); assert_eq!( - fetched_by_name["result"]["agent"]["terminal_id"], + fetched_by_detected_agent["result"]["agent"]["terminal_id"], terminal_id ); + let renamed_first_agent = send_request( + &socket_path, + r#"{"id":"agent_rename_first","method":"agent.rename","params":{"target":"pi","name":"worker"}}"#, + ); + assert_eq!(renamed_first_agent["result"]["agent"]["name"], "worker"); + let fetched_by_terminal = send_request( &socket_path, &format!( @@ -715,14 +721,23 @@ fn agent_methods_round_trip_over_socket() { .as_str() .unwrap(); - let second_renamed = send_request( + let second_reported = send_request( &socket_path, &format!( - r#"{{"id":"agent_second_rename","method":"pane.rename","params":{{"pane_id":"{}","label":"reviewer"}}}}"#, + r#"{{"id":"agent_second_report","method":"pane.report_agent","params":{{"pane_id":"{}","source":"test","agent":"codex","state":"idle"}}}}"#, second_pane_id ), ); - assert_eq!(second_renamed["result"]["pane"]["label"], "reviewer"); + assert_eq!(second_reported["result"]["type"], "ok"); + + let second_renamed = send_request( + &socket_path, + &format!( + r#"{{"id":"agent_second_rename","method":"agent.rename","params":{{"target":"{}","name":"reviewer"}}}}"#, + second_terminal_id + ), + ); + assert_eq!(second_renamed["result"]["agent"]["name"], "reviewer"); let duplicate = send_request( &socket_path, diff --git a/tests/cli_wrapper.rs b/tests/cli_wrapper.rs index 0cf60c5d..dd07f760 100644 --- a/tests/cli_wrapper.rs +++ b/tests/cli_wrapper.rs @@ -1301,7 +1301,7 @@ fn agent_commands_work() { .unwrap() .to_string(); - let renamed = run_cli(&socket_path, &["pane", "rename", &root_pane_id, "worker"]); + let renamed = run_cli(&socket_path, &["agent", "rename", &root_pane_id, "worker"]); assert!(renamed.status.success()); let listed = run_cli_json(&socket_path, &["agent", "list"]); @@ -1312,6 +1312,20 @@ fn agent_commands_work() { let fetched = run_cli_json(&socket_path, &["agent", "get", "worker"]); assert_eq!(fetched["result"]["agent"]["pane_id"], root_pane_id); + let waited = run_cli_json( + &socket_path, + &[ + "agent", + "wait", + "worker", + "--status", + "unknown", + "--timeout", + "100", + ], + ); + assert_eq!(waited["result"]["agent"]["pane_id"], root_pane_id); + let read = run_cli_json( &socket_path, &["agent", "read", &terminal_id, "--source", "visible"], |
