use hexvault::error::HexvaultError;
use hexvault::stack::{Layer, LayerContext, TokenResolver};
use hexvault::{generate_master_key, Vault};
struct DummyResolver;
impl TokenResolver for DummyResolver {
fn resolve(&self, _token: &str) -> Result<LayerContext, HexvaultError> {
Ok(LayerContext::empty())
}
}
#[test]
fn test_insider_access_no_audit() {
let master = generate_master_key().unwrap();
let mut vault = Vault::new(master, std::sync::Arc::new(DummyResolver));
let partition = vault.get_partition("test").unwrap();
let mut cell_a = partition.create_cell("a".into());
let mut cell_b = partition.create_cell("b".into());
let token = "";
partition
.seal(&mut cell_a, "secret", b"hush", Layer::AtRest, token)
.unwrap();
vault
.traverse(
&partition,
&cell_a,
&partition,
&mut cell_b,
"secret",
Layer::AtRest,
token,
token,
)
.unwrap();
assert!(!vault.audit_log().is_empty());
}