readme_quick_start_test/
readme_quick_start_test.rs

1use nacm_validator::{AccessRequest, NacmConfig, Operation, RequestContext};
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let xml_content = std::fs::read_to_string("examples/data/tailf_acm_example.xml")?;
5    let config = NacmConfig::from_xml(&xml_content)?;
6    let context = RequestContext::CLI;
7
8    let request = AccessRequest {
9        user: "alice",
10        operation: Operation::Read,
11        context: Some(&context),
12        command: Some("show status"),
13        module_name: None,
14        rpc_name: None,
15        path: None,
16    };
17
18    let result = config.validate(&request);
19    println!("Access {}: {}", 
20             if result.effect == nacm_validator::RuleEffect::Permit { "GRANTED" } else { "DENIED" },
21             if result.should_log { "[LOGGED]" } else { "" });
22    
23    Ok(())
24}