execpolicy-legacy/tests/suite/pwd.rs
86 lines
extern crate codex_execpolicy_legacy;use std::vec;use codex_execpolicy_legacy::Error;use codex_execpolicy_legacy::ExecCall;use codex_execpolicy_legacy::MatchedExec;use codex_execpolicy_legacy::MatchedFlag;use codex_execpolicy_legacy::Policy;use codex_execpolicy_legacy::PositionalArg;use codex_execpolicy_legacy::ValidExec;use codex_execpolicy_legacy::get_default_policy;#[expect(clippy::expect_used)]fn setup() -> Policy { get_default_policy().expect("failed to load default policy")}#[test]fn test_pwd_no_args() { let policy = setup(); let pwd = ExecCall::new("pwd", &[]); assert_eq!( Ok(MatchedExec::Match { exec: ValidExec { program: "pwd".into(), ..Default::default() } }), policy.check(&pwd) );}#[test]fn test_pwd_capital_l() { let policy = setup(); let pwd = ExecCall::new("pwd", &["-L"]); assert_eq!( Ok(MatchedExec::Match { exec: ValidExec { program: "pwd".into(), flags: vec![MatchedFlag::new("-L")], ..Default::default() } }), policy.check(&pwd) );}#[test]fn test_pwd_capital_p() { let policy = setup(); let pwd = ExecCall::new("pwd", &["-P"]); assert_eq!( Ok(MatchedExec::Match { exec: ValidExec { program: "pwd".into(), flags: vec![MatchedFlag::new("-P")], ..Default::default() } }), policy.check(&pwd) );}#[test]fn test_pwd_extra_args() { let policy = setup(); let pwd = ExecCall::new("pwd", &["foo", "bar"]); assert_eq!( Err(Error::UnexpectedArguments { program: "pwd".to_string(), args: vec![ PositionalArg { index: 0, value: "foo".to_string() }, PositionalArg { index: 1, value: "bar".to_string() }, ], }), policy.check(&pwd) );}