commit 2362f9a81ec13d84cda5706f225cd3b4e9566f2d
parent 4d2ee03e14f331abc6e002edf8c42170b283928e
Author: triesap <tyson@radroots.org>
Date: Mon, 13 Jul 2026 06:21:13 +0000
daemon: assert transport operation capabilities
- require operation capabilities in transport publish RPC output
- guard the protocol capability row shape from radrootsd
- preserve Reticulum preview as delivery and fetch incapable
- validate transport publish daemon tests
Diffstat:
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/src/transport/jsonrpc/methods/mod.rs b/src/transport/jsonrpc/methods/mod.rs
@@ -156,6 +156,11 @@ mod tests {
assert!(
response
.get()
+ .contains("\"capabilities\":{\"deliver\":false,\"fetch\":false}")
+ );
+ assert!(
+ response
+ .get()
.contains(RADROOTS_RETICULUM_UNAVAILABLE_MESSAGE)
);
}
diff --git a/tests/source_boundary.rs b/tests/source_boundary.rs
@@ -286,6 +286,7 @@ fn transport_publish_capabilities_expose_per_transport_readiness() {
r#"\"configured\":true"#,
r#"\"implementation\":\"preview_unavailable\""#,
r#"\"usable_for_delivery\":false"#,
+ r#"\"capabilities\":{\"deliver\":false,\"fetch\":false}"#,
"RADROOTS_RETICULUM_UNAVAILABLE_MESSAGE",
] {
assert!(
@@ -304,6 +305,10 @@ fn transport_publish_capabilities_expose_per_transport_readiness() {
"pub configured: bool,",
"pub implementation: TransportPublishImplementation,",
"pub usable_for_delivery: bool,",
+ "pub capabilities: TransportPublishOperationCapabilities,",
+ "pub struct TransportPublishOperationCapabilities",
+ "pub deliver: bool,",
+ "pub fetch: bool,",
"RADROOTS_RETICULUM_UNAVAILABLE_MESSAGE",
] {
assert!(