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";
12
13#[derive(Debug, Clone, Default, clap::Args)]
15pub struct DbNoopArgs {
16 #[arg(long, value_name = "PATH", help = DB_NOOP_HELP)]
19 pub db: Option<String>,
20}
21
22impl DbNoopArgs {
23 #[inline]
25 pub fn ignore(self) {
26 let _ = self.db;
27 }
28}
29
30#[cfg(test)]
31mod tests {
32 use super::*;
33 use clap::Parser;
34
35 #[derive(Debug, Parser)]
36 struct Probe {
37 #[command(flatten)]
38 db_noop: DbNoopArgs,
39 }
40
41 #[test]
42 fn db_noop_parses_long_flag() {
43 let p = Probe::try_parse_from(["probe", "--db", "/tmp/sentinel.sqlite"])
44 .expect("DbNoopArgs must accept --db");
45 assert_eq!(p.db_noop.db.as_deref(), Some("/tmp/sentinel.sqlite"));
46 p.db_noop.ignore();
47 }
48
49 #[test]
50 fn db_noop_optional() {
51 let p = Probe::try_parse_from(["probe"]).expect("DbNoopArgs must be optional");
52 assert!(p.db_noop.db.is_none());
53 }
54}