From fecd8bf33fead4156d5496fa842b14bc290e8cdf Mon Sep 17 00:00:00 2001 From: Riz Ashraf Date: Fri, 9 Oct 2026 00:30:05 +0100 Subject: [PATCH] fix(tests): replace serde_json::from_str with serde_yaml::from_str for tool output assertions --- server/src/handlers/git.rs | 4 ++-- server/src/handlers/graph.rs | 2 +- server/src/handlers/meta.rs | 4 ++-- server/src/handlers/vision.rs | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/server/src/handlers/git.rs b/server/src/handlers/git.rs index a727cdb..e42ffab 100644 --- a/server/src/handlers/git.rs +++ b/server/src/handlers/git.rs @@ -191,7 +191,7 @@ mod tests { .map_err(|e| format!("Failed to get worktree context: {}", e)) .unwrap(); - let parsed: serde_json::Value = serde_json::from_str(&result).unwrap(); + let parsed: serde_json::Value = serde_yaml::from_str(&result).unwrap(); assert!(parsed.get("branch").is_some()); assert!(parsed.get("modified_files").is_some()); assert!(parsed.get("diff").is_some()); @@ -210,7 +210,7 @@ mod tests { .map_err(|e| format!("Failed to get worktree context: {}", e)) .unwrap(); - let parsed: serde_json::Value = serde_json::from_str(&result).unwrap(); + let parsed: serde_json::Value = serde_yaml::from_str(&result).unwrap(); assert!(parsed.get("branch").is_some() || parsed.is_object()); } } diff --git a/server/src/handlers/graph.rs b/server/src/handlers/graph.rs index c7b1e5a..bb08d06 100644 --- a/server/src/handlers/graph.rs +++ b/server/src/handlers/graph.rs @@ -1643,7 +1643,7 @@ mod tests { .execute(json!({"limit": 1, "offset": 0}), state.clone()) .await .unwrap(); - let parsed_paged: serde_json::Value = serde_json::from_str(&paged_res).unwrap(); + let parsed_paged: serde_json::Value = serde_yaml::from_str(&paged_res).unwrap(); assert_eq!(parsed_paged["total_count"], 2); assert_eq!(parsed_paged["has_more"], true); } diff --git a/server/src/handlers/meta.rs b/server/src/handlers/meta.rs index 3c4e915..50f76b4 100644 --- a/server/src/handlers/meta.rs +++ b/server/src/handlers/meta.rs @@ -1985,8 +1985,8 @@ mod tests { .await .map_err(|e| crate::error::AppError::Internal(e.to_string())) .unwrap(); - let uuid_start = debt_list.find("id\":\"").unwrap() + 5; - let uuid = &debt_list[uuid_start..uuid_start + 36]; + let debt_list_val: serde_json::Value = serde_yaml::from_str(&debt_list).unwrap(); + let uuid = debt_list_val[0]["id"].as_str().unwrap(); let resolve_debt = TechDebtHandler; resolve_debt diff --git a/server/src/handlers/vision.rs b/server/src/handlers/vision.rs index d6161f8..76bdfa9 100644 --- a/server/src/handlers/vision.rs +++ b/server/src/handlers/vision.rs @@ -1039,7 +1039,7 @@ mod tests { .unwrap(); // Returns a JSON string, possibly {} - let parsed: serde_json::Value = serde_json::from_str(&result).unwrap(); + let parsed: serde_json::Value = serde_yaml::from_str(&result).unwrap(); assert!(parsed.is_object()); } @@ -1055,7 +1055,7 @@ mod tests { .map_err(|e| format!("Failed to read clipboard: {}", e)) .unwrap(); - let parsed: serde_json::Value = serde_json::from_str(&result).unwrap(); + let parsed: serde_json::Value = serde_yaml::from_str(&result).unwrap(); assert!(parsed.is_object()); } @@ -1175,7 +1175,7 @@ mod tests { .execute(json!({ "action": "image" }), Arc::clone(&state)) .await .unwrap(); - let img_val: Value = serde_json::from_str(&img_res_str).unwrap(); + let img_val: Value = serde_yaml::from_str(&img_res_str).unwrap(); assert_eq!(img_val["file_path"], "C:\\tmp\\image_b.jpg"); assert_eq!(img_val["file_path_wsl"], "/mnt/c/tmp/image_b.jpg"); assert_eq!(img_val["width"], 1200); @@ -1188,7 +1188,7 @@ mod tests { .execute(json!({ "action": "text" }), Arc::clone(&state)) .await .unwrap(); - let text_val: Value = serde_json::from_str(&text_res_str).unwrap(); + let text_val: Value = serde_yaml::from_str(&text_res_str).unwrap(); assert_eq!(text_val["text"], "Some random stackoverflow URL"); // Action 'history' MUST show both items @@ -1196,7 +1196,7 @@ mod tests { .execute(json!({ "action": "history" }), Arc::clone(&state)) .await .unwrap(); - let hist_val: Value = serde_json::from_str(&hist_res_str).unwrap(); + let hist_val: Value = serde_yaml::from_str(&hist_res_str).unwrap(); let history = hist_val.as_array().unwrap(); assert!(history.len() >= 4); }