#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic, missing_docs)]
mod common;
use common::CliWorkspace;
#[test]
fn exit_2_on_unrecognised_storage_uri() {
let ws = CliWorkspace::new();
let mut cmd = ws.cmd();
cmd.env("KIROMI_AI_STORAGE", "s3://nope").args(["init"]);
let out = cmd.output().unwrap();
assert_eq!(out.status.code(), Some(2));
}
#[test]
fn exit_3_on_unknown_memory() {
let ws = CliWorkspace::new();
assert!(ws.init().status.success());
let out = ws
.cmd()
.args(["get", "01ARZ3NDEKTSV4RRFFQ69G5FAV"])
.output()
.unwrap();
assert_eq!(out.status.code(), Some(3));
}
#[test]
fn exit_4_on_tombstoned_memory() {
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",
"rip",
])
.output()
.unwrap();
let id = String::from_utf8(out.stdout).unwrap().trim().to_string();
let _ = ws.cmd().args(["delete", &id]).output().unwrap();
let get = ws.cmd().args(["get", &id]).output().unwrap();
assert_eq!(get.status.code(), Some(4));
}
#[test]
fn exit_7_on_scheme_mismatch_reopen() {
let ws = CliWorkspace::new();
assert!(ws.init().status.success());
let mut cmd = ws.cmd();
cmd.env("KIROMI_AI_SCHEME", "different={different}")
.arg("init");
let out = cmd.output().unwrap();
assert_eq!(out.status.code(), Some(7));
}