#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic, missing_docs)]
mod common;
use common::CliWorkspace;
#[test]
fn delete_single_memory_then_get_returns_4() {
let ws = CliWorkspace::new();
assert!(ws.init().status.success());
let out = ws
.cmd()
.args([
"append",
"--partition",
"user=alex,year=2026,month=05,topic=meetings",
"--message",
"to be deleted",
])
.output()
.unwrap();
let id = String::from_utf8(out.stdout).unwrap().trim().to_string();
let del = ws.cmd().args(["delete", &id]).output().unwrap();
assert!(del.status.success());
let get = ws.cmd().args(["get", &id]).output().unwrap();
assert_eq!(get.status.code(), Some(4), "expected tombstoned exit");
}
#[test]
fn delete_partition_tombstones_all() {
let ws = CliWorkspace::new();
assert!(ws.init().status.success());
for body in ["a", "b", "c"] {
let _ = ws
.cmd()
.args([
"append",
"--partition",
"user=alex,year=2026,month=05,topic=meetings",
"--message",
body,
])
.output()
.unwrap();
}
let out = ws
.cmd()
.args([
"--json",
"delete-partition",
"user=alex/year=2026/month=05/topic=meetings",
])
.output()
.unwrap();
assert!(out.status.success());
let parsed: serde_json::Value = serde_json::from_slice(&out.stdout).unwrap();
assert_eq!(parsed["tombstoned"].as_u64(), Some(3));
}