aboutsummaryrefslogtreecommitdiff
path: root/tests/api_ping.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-07-13 03:26:03 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-07-13 03:30:13 +0300
commit5cfe5e5e730246948b0c9428ad876b6938590aad (patch)
tree53d4bbe1aff6887f63f279eed1b5e4e11e7331b7 /tests/api_ping.rs
parent7f3364a468f7dcfd8c9c84e5737fe5699f0e3a93 (diff)
feat: add configurable sidebar metadata tokens
Diffstat (limited to 'tests/api_ping.rs')
-rw-r--r--tests/api_ping.rs54
1 files changed, 35 insertions, 19 deletions
diff --git a/tests/api_ping.rs b/tests/api_ping.rs
index aea8188a..651a3aa5 100644
--- a/tests/api_ping.rs
+++ b/tests/api_ping.rs
@@ -425,6 +425,26 @@ fn workspace_list_and_create_round_trip() {
);
assert_eq!(fetched["result"]["workspace"]["workspace_id"], workspace_id);
+ let metadata = send_request(
+ &socket_path,
+ &format!(
+ r#"{{"id":"req_workspace_metadata","method":"workspace.report_metadata","params":{{"workspace_id":"{}","source":"user:test","tokens":{{"jj_status":"2 changes"}}}}}}"#,
+ workspace_id
+ ),
+ );
+ assert_eq!(metadata["result"]["type"], "ok");
+ let fetched = send_request(
+ &socket_path,
+ &format!(
+ r#"{{"id":"req_workspace_metadata_get","method":"workspace.get","params":{{"workspace_id":"{}"}}}}"#,
+ workspace_id
+ ),
+ );
+ assert_eq!(
+ fetched["result"]["workspace"]["tokens"]["jj_status"],
+ "2 changes"
+ );
+
let panes = send_request(
&socket_path,
r#"{"id":"req_6","method":"pane.list","params":{}}"#,
@@ -1545,7 +1565,7 @@ fn pane_report_agent_updates_effective_state() {
let metadata = send_request(
&socket_path,
&format!(
- r#"{{"id":"req_hook_metadata","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","agent":"pi","applies_to_source":"herdr:pi","title":"Refactor auth","display_agent":"Pi auth","custom_status":"middleware","state_labels":{{"working":"deep in the mines"}}}}}}"#,
+ r#"{{"id":"req_hook_metadata","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","agent":"pi","applies_to_source":"herdr:pi","title":"Refactor auth","display_agent":"Pi auth","state_labels":{{"working":"deep in the mines"}},"tokens":{{"summary":"reviewing auth","model":"opus"}}}}}}"#,
pane_id
),
);
@@ -1562,11 +1582,15 @@ fn pane_report_agent_updates_effective_state() {
assert_eq!(pane["result"]["pane"]["agent_status"], "working");
assert_eq!(pane["result"]["pane"]["title"], "Refactor auth");
assert_eq!(pane["result"]["pane"]["display_agent"], "Pi auth");
- assert_eq!(pane["result"]["pane"]["custom_status"], "middleware");
assert_eq!(
pane["result"]["pane"]["state_labels"]["working"],
"deep in the mines"
);
+ assert_eq!(
+ pane["result"]["pane"]["tokens"]["summary"],
+ "reviewing auth"
+ );
+ assert_eq!(pane["result"]["pane"]["tokens"]["model"], "opus");
let agent = send_request(
&socket_path,
@@ -1585,28 +1609,20 @@ fn pane_report_agent_updates_effective_state() {
);
assert_eq!(agent["result"]["agent"]["title"], "Refactor auth");
assert_eq!(agent["result"]["agent"]["display_agent"], "Pi auth");
- assert_eq!(agent["result"]["agent"]["custom_status"], "middleware");
assert_eq!(
agent["result"]["agent"]["state_labels"]["working"],
"deep in the mines"
);
-
- let invalid_metadata = send_request(
- &socket_path,
- &format!(
- r#"{{"id":"req_hook_metadata_invalid","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","custom_status":"x","clear_custom_status":true}}}}"#,
- pane_id
- ),
- );
assert_eq!(
- invalid_metadata["error"]["code"],
- "invalid_metadata_request"
+ agent["result"]["agent"]["tokens"]["summary"],
+ "reviewing auth"
);
+ assert_eq!(agent["result"]["agent"]["tokens"]["model"], "opus");
let blank_source_metadata = send_request(
&socket_path,
&format!(
- r#"{{"id":"req_hook_metadata_blank_source","method":"pane.report_metadata","params":{{"pane_id":"{}","source":" ","custom_status":"x"}}}}"#,
+ r#"{{"id":"req_hook_metadata_blank_source","method":"pane.report_metadata","params":{{"pane_id":"{}","source":" ","title":"x"}}}}"#,
pane_id
),
);
@@ -1630,7 +1646,7 @@ fn pane_report_agent_updates_effective_state() {
let blank_authority_source_metadata = send_request(
&socket_path,
&format!(
- r#"{{"id":"req_hook_metadata_blank_authority_source","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","applies_to_source":" ","custom_status":"x"}}}}"#,
+ r#"{{"id":"req_hook_metadata_blank_authority_source","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","applies_to_source":" ","title":"x"}}}}"#,
pane_id
),
);
@@ -2277,7 +2293,7 @@ fn metadata_status_subscription_filter_and_ttl_expiry_are_observable() {
let metadata = send_request(
&socket_path,
&format!(
- r#"{{"id":"req_meta_sub_3","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","agent":"pi","applies_to_source":"herdr:pi","custom_status":"filtered out"}}}}"#,
+ r#"{{"id":"req_meta_sub_3","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","agent":"pi","applies_to_source":"herdr:pi","title":"filtered out"}}}}"#,
pane_id
),
);
@@ -2303,7 +2319,7 @@ fn metadata_status_subscription_filter_and_ttl_expiry_are_observable() {
let metadata = send_request(
&socket_path,
&format!(
- r#"{{"id":"req_meta_sub_4","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","agent":"pi","applies_to_source":"herdr:pi","custom_status":"short lived","ttl_ms":100}}}}"#,
+ r#"{{"id":"req_meta_sub_4","method":"pane.report_metadata","params":{{"pane_id":"{}","source":"user:pi-display","agent":"pi","applies_to_source":"herdr:pi","title":"short lived","ttl_ms":100}}}}"#,
pane_id
),
);
@@ -2314,14 +2330,14 @@ fn metadata_status_subscription_filter_and_ttl_expiry_are_observable() {
assert_eq!(set_event["data"]["pane_id"], pane_id);
assert_eq!(set_event["data"]["agent_status"], "working");
assert_eq!(set_event["data"]["agent"], "pi");
- assert_eq!(set_event["data"]["custom_status"], "short lived");
+ assert_eq!(set_event["data"]["title"], "short lived");
let expiry_event = reader.read_json_line(Duration::from_secs(3));
assert_eq!(expiry_event["event"], "pane.agent_status_changed");
assert_eq!(expiry_event["data"]["pane_id"], pane_id);
assert_eq!(expiry_event["data"]["agent_status"], "working");
assert_eq!(expiry_event["data"]["agent"], "pi");
- assert!(expiry_event["data"]["custom_status"].is_null());
+ assert!(expiry_event["data"]["title"].is_null());
cleanup_spawned_herdr(child, base);
}