aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-17 01:41:17 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-17 01:41:17 +0300
commitf7fe0f203e0f349df33819aab239c0aade016f79 (patch)
tree51540d4a040a1a2d32ecf73c5c2d9277a7d4efef /tests
parent3ecacfddae86d603bfd0d1a0c01602b1d34b1df3 (diff)
fix: polish terminal-core agent semantics
Diffstat (limited to 'tests')
-rw-r--r--tests/api_ping.rs29
-rw-r--r--tests/cli_wrapper.rs16
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"],