Fix ticket 052's clear-params test for ticket 055's reserved params

GET /api/params now includes the three non-deletable ottyl_* reserved
entries (ticket 055), so the "clear removes everything" assertion needs
to count only real (non-reserved) declarations.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XFUNZwCvz3kcod3352ZR2o
This commit is contained in:
Hugh Kaznowski
2026-09-06 09:49:02 +01:00
co-authored by Claude Sonnet 5
parent ec98a3ab18
commit 5493358db8
+18 -9
View File
@@ -1088,23 +1088,32 @@ mod tests {
ingest_lines(&engine, 0, &["request path=/a", "level=info x=1"]).await;
let (_, before) = get_json(&app, "/api/params").await;
let before_names: Vec<&str> =
before.as_array().unwrap().iter().map(|p| p["name"].as_str().unwrap()).collect();
assert!(before_names.contains(&"path"));
assert!(before_names.contains(&"level"));
assert!(before_names.contains(&"x"));
// Ticket 055 merges the three non-deletable `ottyl_*` reserved names into this listing
// too; `DELETE /api/params` (ticket 052) only ever clears real declarations, so the
// reserved ones must be excluded from the "everything got removed" count below.
let before_declared: Vec<&str> = before
.as_array()
.unwrap()
.iter()
.filter(|p| p["reserved"] != true)
.map(|p| p["name"].as_str().unwrap())
.collect();
assert!(before_declared.contains(&"path"));
assert!(before_declared.contains(&"level"));
assert!(before_declared.contains(&"x"));
let (status, result) = send_json(&app, "DELETE", "/api/params", json!({})).await;
assert_eq!(status, StatusCode::OK);
assert_eq!(result["removed"], before_names.len() as u64);
assert_eq!(result["removed"], before_declared.len() as u64);
// Re-derived without any new ingest — same three keys come back, now all auto-derived.
assert_eq!(result["reextracted"], 3);
assert_eq!(result["logs_considered"], 2);
let (_, after) = get_json(&app, "/api/params").await;
let after_params = after.as_array().unwrap();
assert_eq!(after_params.len(), 3);
assert!(after_params.iter().all(|p| p["auto_derived"] == true));
let after_declared: Vec<_> =
after.as_array().unwrap().iter().filter(|p| p["reserved"] != true).collect();
assert_eq!(after_declared.len(), 3);
assert!(after_declared.iter().all(|p| p["auto_derived"] == true));
// The clear persisted: "path" (the only manually-declared, profile-stored param) doesn't
// reappear from settings.json on a fresh load.