Add local CAS pin metadata
This commit is contained in:
parent
99f6dee26f
commit
00471bcec0
9 changed files with 169 additions and 16 deletions
|
|
@ -122,6 +122,52 @@ fn initialized_node_can_roundtrip_cas_blob() {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn cas_pin_unpin_updates_local_pin_metadata() {
|
||||
let home = tempfile::tempdir().expect("tempdir");
|
||||
let paths = geth_config::GethPaths::from_home(home.path());
|
||||
let node = geth_node::init_node(&paths).expect("init node");
|
||||
let blob_path = home.path().join("blob.txt");
|
||||
std::fs::write(&blob_path, b"pinned bytes").expect("write blob");
|
||||
|
||||
let response = geth_node::handle_request(
|
||||
&node,
|
||||
geth_control::ControlRequest::CasAdd { path: blob_path },
|
||||
)
|
||||
.expect("add cas blob");
|
||||
let hash = match response {
|
||||
geth_control::ControlResponse::CasAdded { hash, .. } => hash,
|
||||
other => panic!("unexpected response: {other:?}"),
|
||||
};
|
||||
|
||||
geth_node::handle_request(
|
||||
&node,
|
||||
geth_control::ControlRequest::CasPin { hash: hash.clone() },
|
||||
)
|
||||
.expect("pin blob");
|
||||
let response = geth_node::handle_request(&node, geth_control::ControlRequest::CasList)
|
||||
.expect("list blobs");
|
||||
match response {
|
||||
geth_control::ControlResponse::CasList { blobs } => {
|
||||
assert_eq!(blobs.len(), 1);
|
||||
assert!(blobs[0].pinned);
|
||||
}
|
||||
other => panic!("unexpected response: {other:?}"),
|
||||
}
|
||||
|
||||
geth_node::handle_request(&node, geth_control::ControlRequest::CasUnpin { hash })
|
||||
.expect("unpin blob");
|
||||
let response = geth_node::handle_request(&node, geth_control::ControlRequest::CasList)
|
||||
.expect("list blobs");
|
||||
match response {
|
||||
geth_control::ControlResponse::CasList { blobs } => {
|
||||
assert_eq!(blobs.len(), 1);
|
||||
assert!(!blobs[0].pinned);
|
||||
}
|
||||
other => panic!("unexpected response: {other:?}"),
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn auth_explain_distinguishes_discovered_peer_candidates() {
|
||||
let home = tempfile::tempdir().expect("tempdir");
|
||||
|
|
|
|||
Loading…
Reference in a new issue