Add authorized pipe messages over Iroh

This commit is contained in:
Eric Wendland 2026-05-20 13:57:14 +02:00
commit 78dbbf240b
11 changed files with 712 additions and 31 deletions

View file

@ -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:?}"),
}