aboutsummaryrefslogtreecommitdiff
path: root/tests/cli/hooks.rs
diff options
context:
space:
mode:
authorakbash <akbash@herdr.dev>2026-09-13 03:04:27 +0300
committerGitHub <noreply@github.com>2026-09-13 02:04:27 +0200
commitaa6b531a423067d8a71c2a57b41185bff17036be (patch)
tree72fff1245d085d1b8aca3fbb124d007a731070ab /tests/cli/hooks.rs
parent98a8c6ce52a054b582a6210c79d76e10a99ccccc (diff)
fix: update grok session after new (#2683)
* fix: update grok session after new refs #2681 * fix: avoid powershell args shadowing refs #2681 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Diffstat (limited to 'tests/cli/hooks.rs')
-rw-r--r--tests/cli/hooks.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/cli/hooks.rs b/tests/cli/hooks.rs
index de2bb271..31978a03 100644
--- a/tests/cli/hooks.rs
+++ b/tests/cli/hooks.rs
@@ -37,6 +37,15 @@ fn run_devin_hook(
)
}
+fn run_grok_hook(hook_input: &str, envs: &[(&str, &str)]) -> Option<serde_json::Value> {
+ run_shell_hook_with_env(
+ "src/integration/assets/grok/herdr-agent-state.sh",
+ &["session"],
+ hook_input,
+ envs,
+ )
+}
+
fn run_shell_hook(asset_path: &str, args: &[&str], hook_input: &str) -> Option<serde_json::Value> {
run_shell_hook_with_env(asset_path, args, hook_input, &[])
}
@@ -238,6 +247,19 @@ fn copilot_hook_reports_session_id_from_stdin() {
}
#[test]
+fn grok_hook_reports_new_session_source() {
+ let request = run_grok_hook(
+ r#"{"hook_event_name":"session_start","source":"new","session_id":"new-session"}"#,
+ &[("GROK_SESSION_ID", "new-session")],
+ )
+ .expect("grok session start should report session identity");
+
+ assert_eq!(request["method"], "pane.report_agent_session");
+ assert_eq!(request["params"]["agent_session_id"], "new-session");
+ assert_eq!(request["params"]["session_start_source"], "new");
+}
+
+#[test]
fn copilot_hook_does_not_report_lifecycle_state() {
for payload in [
r#"{"hook_event_name":"UserPromptSubmit","session_id":"copilot-session","prompt":"run tests"}"#,