sqlite_graphrag/
cli_db_noop.rs1pub const DB_NOOP_HELP: &str = "Explicit database path. Accepted as a no-op for agent uniformity; host/XDG surfaces do not open the graph database";
11
12#[derive(Debug, Clone, Default, clap::Args)]
14pub struct DbNoopArgs {
15 #[arg(long, value_name = "PATH", help = DB_NOOP_HELP)]
18 pub db: Option<String>,
19}
20
21impl DbNoopArgs {
22 #[inline]
24 pub fn ignore(self) {
25 let _ = self.db;
26 }
27}
28
29#[cfg(test)]
30mod tests {
31 use super::*;
32 use clap::Parser;
33
34 #[derive(Debug, Parser)]
35 struct Probe {
36 #[command(flatten)]
37 db_noop: DbNoopArgs,
38 }
39
40 #[test]
41 fn db_noop_parses_long_flag() {
42 let p = Probe::try_parse_from(["probe", "--db", "/tmp/sentinel.sqlite"])
43 .expect("DbNoopArgs must accept --db");
44 assert_eq!(p.db_noop.db.as_deref(), Some("/tmp/sentinel.sqlite"));
45 p.db_noop.ignore();
46 }
47
48 #[test]
49 fn db_noop_optional() {
50 let p = Probe::try_parse_from(["probe"]).expect("DbNoopArgs must be optional");
51 assert!(p.db_noop.db.is_none());
52 }
53}