mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-02 10:45:30 +00:00
aquatic_common: add access list test
This commit is contained in:
parent
dce256a987
commit
992f4df635
1 changed files with 33 additions and 0 deletions
|
|
@ -128,4 +128,37 @@ mod tests {
|
||||||
assert!(f("aaaabbbbccccddddeeeeaaaabbbbccccddddeee".into()).is_err());
|
assert!(f("aaaabbbbccccddddeeeeaaaabbbbccccddddeee".into()).is_err());
|
||||||
assert!(f("aaaabbbbccccddddeeeeaaaabbbbccccddddeeeö".into()).is_err());
|
assert!(f("aaaabbbbccccddddeeeeaaaabbbbccccddddeeeö".into()).is_err());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_cache_allows() {
|
||||||
|
let mut access_list = AccessList::default();
|
||||||
|
|
||||||
|
let a = parse_info_hash("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").unwrap();
|
||||||
|
let b = parse_info_hash("bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb").unwrap();
|
||||||
|
let c = parse_info_hash("cccccccccccccccccccccccccccccccccccccccc").unwrap();
|
||||||
|
|
||||||
|
access_list.0.insert(a);
|
||||||
|
access_list.0.insert(b);
|
||||||
|
|
||||||
|
let access_list = Arc::new(ArcSwap::new(Arc::new(access_list)));
|
||||||
|
|
||||||
|
let mut access_list_cache = Cache::new(Arc::clone(&access_list));
|
||||||
|
|
||||||
|
assert!(access_list_cache.load().allows(AccessListMode::White, &a));
|
||||||
|
assert!(access_list_cache.load().allows(AccessListMode::White, &b));
|
||||||
|
assert!(!access_list_cache.load().allows(AccessListMode::White, &c));
|
||||||
|
|
||||||
|
assert!(!access_list_cache.load().allows(AccessListMode::Black, &a));
|
||||||
|
assert!(!access_list_cache.load().allows(AccessListMode::Black, &b));
|
||||||
|
assert!(access_list_cache.load().allows(AccessListMode::Black, &c));
|
||||||
|
|
||||||
|
assert!(access_list_cache.load().allows(AccessListMode::Off, &a));
|
||||||
|
assert!(access_list_cache.load().allows(AccessListMode::Off, &b));
|
||||||
|
assert!(access_list_cache.load().allows(AccessListMode::Off, &c));
|
||||||
|
|
||||||
|
access_list.store(Arc::new(AccessList::default()));
|
||||||
|
|
||||||
|
assert!(access_list_cache.load().allows(AccessListMode::Black, &a));
|
||||||
|
assert!(access_list_cache.load().allows(AccessListMode::Black, &b));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue