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:
co-authored by
Claude Sonnet 5
parent
ec98a3ab18
commit
5493358db8
+18
-9
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user