36 lines
1.2 KiB
Rust
36 lines
1.2 KiB
Rust
use rpki::storage::{FetchCachePpKey, RocksStore};
|
|
|
|
#[test]
|
|
fn storage_iter_all_lists_raw_and_fetch_cache_pp_entries() {
|
|
let temp = tempfile::tempdir().expect("tempdir");
|
|
let store = RocksStore::open(temp.path()).expect("open rocksdb");
|
|
|
|
store
|
|
.put_raw("rsync://example.test/repo/a.cer", b"a")
|
|
.expect("put_raw a");
|
|
store
|
|
.put_raw("rsync://example.test/repo/b.roa", b"b")
|
|
.expect("put_raw b");
|
|
|
|
let key = FetchCachePpKey::from_manifest_rsync_uri("rsync://example.test/repo/m.mft");
|
|
store
|
|
.put_fetch_cache_pp(&key, b"x")
|
|
.expect("put_fetch_cache_pp");
|
|
|
|
let raw_keys = store
|
|
.raw_iter_all()
|
|
.expect("raw_iter_all")
|
|
.map(|(k, _v)| String::from_utf8(k.to_vec()).expect("utf8 key"))
|
|
.collect::<Vec<_>>();
|
|
assert_eq!(raw_keys.len(), 2);
|
|
assert!(raw_keys.contains(&"rsync://example.test/repo/a.cer".to_string()));
|
|
assert!(raw_keys.contains(&"rsync://example.test/repo/b.roa".to_string()));
|
|
|
|
let keys = store
|
|
.fetch_cache_pp_iter_all()
|
|
.expect("fetch_cache_pp_iter_all")
|
|
.map(|(k, _v)| String::from_utf8(k.to_vec()).expect("utf8 key"))
|
|
.collect::<Vec<_>>();
|
|
assert_eq!(keys, vec![key.as_str().to_string()]);
|
|
}
|