commit 79d0d32b5cc23f1efefdc9ef0aae72001bad5bcb
parent ccade76249dc46f2464cf8a39a2cd1a8e721c7b9
Author: triesap <tyson@radroots.org>
Date: Tue, 28 Apr 2026 12:53:19 +0000
tests: cover relay failure contracts
Diffstat:
2 files changed, 54 insertions(+), 10 deletions(-)
diff --git a/tests/signer_runtime_modes.rs b/tests/signer_runtime_modes.rs
@@ -763,6 +763,20 @@ fn local_seller_publish_commands_attempt_configured_direct_relay() {
}
#[test]
+fn local_order_event_list_attempts_configured_direct_relay() {
+ let sandbox = RadrootsCliSandbox::new();
+ sandbox.json_success(&["--format", "json", "account", "create"]);
+ let relay = "ws://127.0.0.1:9";
+
+ let (output, value) = sandbox.json_output(&[
+ "--format", "json", "--relay", relay, "order", "event", "list",
+ ]);
+
+ assert!(!output.status.success());
+ assert_direct_relay_connection_failure(&value, "order.event.list", &["order", "event", "list"]);
+}
+
+#[test]
fn watch_only_farm_publish_dry_run_fails_as_account_watch_only() {
let sandbox = RadrootsCliSandbox::new();
let public_identity = identity_public(13);
diff --git a/tests/target_cli.rs b/tests/target_cli.rs
@@ -506,18 +506,48 @@ fn listing_publish_invalid_draft_returns_validation_failure() {
#[test]
fn online_requires_relay_for_external_network_operations() {
- let output = radroots()
- .args(["--format", "json", "--online", "market", "refresh"])
- .output()
- .expect("run online market refresh");
+ for (operation_id, args) in [
+ (
+ "market.refresh",
+ ["--format", "json", "--online", "market", "refresh"].as_slice(),
+ ),
+ (
+ "order.event.list",
+ ["--format", "json", "--online", "order", "event", "list"].as_slice(),
+ ),
+ (
+ "order.event.watch",
+ [
+ "--format",
+ "json",
+ "--online",
+ "order",
+ "event",
+ "watch",
+ "ord_missing",
+ ]
+ .as_slice(),
+ ),
+ ] {
+ let output = radroots()
+ .args(args)
+ .output()
+ .expect("run online external command");
- assert!(!output.status.success());
- let value: Value = serde_json::from_slice(&output.stdout).expect("json envelope");
+ assert!(!output.status.success());
+ let value: Value = serde_json::from_slice(&output.stdout).expect("json envelope");
- assert_eq!(value["operation_id"], "market.refresh");
- assert_eq!(value["result"], Value::Null);
- assert_eq!(value["errors"][0]["code"], "network_unavailable");
- assert_eq!(value["errors"][0]["exit_code"], 8);
+ assert_eq!(value["operation_id"], operation_id);
+ assert_eq!(value["result"], Value::Null);
+ assert_eq!(value["errors"][0]["code"], "network_unavailable");
+ assert_eq!(value["errors"][0]["exit_code"], 8);
+ assert!(
+ value["errors"][0]["message"]
+ .as_str()
+ .expect("message")
+ .contains("requires at least one configured relay")
+ );
+ }
}
#[test]