Add authorized pipe messages over Iroh
This commit is contained in:
parent
3eb6b623e7
commit
78dbbf240b
11 changed files with 712 additions and 31 deletions
|
|
@ -1543,7 +1543,7 @@ fn pipe_listen_connect_uses_local_runtime_registry() {
|
|||
geth_control::ControlResponse::PipeListening { listener } => {
|
||||
assert_eq!(listener.id.to_string(), "pipe:inbox");
|
||||
assert_eq!(listener.name, "inbox");
|
||||
assert!(listener.note.contains("local daemon registry"));
|
||||
assert!(listener.note.contains("daemon-lifetime pipe runtime"));
|
||||
}
|
||||
other => panic!("unexpected response: {other:?}"),
|
||||
}
|
||||
|
|
@ -1561,11 +1561,63 @@ fn pipe_listen_connect_uses_local_runtime_registry() {
|
|||
geth_control::ControlResponse::PipeConnected { connection } => {
|
||||
assert_eq!(connection.target, "inbox");
|
||||
assert!(connection.local_listener_found);
|
||||
assert!(
|
||||
connection
|
||||
.note
|
||||
.contains("Iroh transport are not implemented")
|
||||
);
|
||||
assert!(connection.note.contains("pipe runtime"));
|
||||
}
|
||||
other => panic!("unexpected response: {other:?}"),
|
||||
}
|
||||
|
||||
let response = geth_node::handle_request(
|
||||
&node,
|
||||
geth_control::ControlRequest::PipeSend {
|
||||
target: "inbox".to_owned(),
|
||||
data_base64: "aGVsbG8gcGlwZQ==".to_owned(),
|
||||
node: None,
|
||||
bearer_secret: None,
|
||||
},
|
||||
)
|
||||
.expect("send pipe message");
|
||||
match response {
|
||||
geth_control::ControlResponse::PipeSent {
|
||||
message,
|
||||
listener_found,
|
||||
..
|
||||
} => {
|
||||
assert!(listener_found);
|
||||
assert_eq!(message.expect("message").data_base64, "aGVsbG8gcGlwZQ==");
|
||||
}
|
||||
other => panic!("unexpected response: {other:?}"),
|
||||
}
|
||||
|
||||
let response = geth_node::handle_request(
|
||||
&node,
|
||||
geth_control::ControlRequest::PipeRecv {
|
||||
name: "inbox".to_owned(),
|
||||
peek: false,
|
||||
},
|
||||
)
|
||||
.expect("receive pipe messages");
|
||||
match response {
|
||||
geth_control::ControlResponse::PipeMessages {
|
||||
messages, drained, ..
|
||||
} => {
|
||||
assert!(drained);
|
||||
assert_eq!(messages.len(), 1);
|
||||
assert_eq!(messages[0].data_base64, "aGVsbG8gcGlwZQ==");
|
||||
}
|
||||
other => panic!("unexpected response: {other:?}"),
|
||||
}
|
||||
|
||||
let response = geth_node::handle_request(
|
||||
&node,
|
||||
geth_control::ControlRequest::PipeRecv {
|
||||
name: "inbox".to_owned(),
|
||||
peek: false,
|
||||
},
|
||||
)
|
||||
.expect("receive drained pipe messages");
|
||||
match response {
|
||||
geth_control::ControlResponse::PipeMessages { messages, .. } => {
|
||||
assert!(messages.is_empty());
|
||||
}
|
||||
other => panic!("unexpected response: {other:?}"),
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue