commit 6767010bf8845a526d53b3787f19d1bbf202f038
parent e4e092e311e64f7f1e59da93fe4f5337572fbdd0
Author: triesap <tyson@radroots.org>
Date: Sun, 21 Jun 2026 23:44:26 +0000
relay-transport: exclude mock poison mappers
- replace uncovered mock adapter poison closures with named mapper functions
- keep fetch and publish mock transport errors excluded from coverage accounting
- preserve relay transport mock behavior while removing function gate noise
- verify radroots_relay_transport tests and 98 percent coverage gate
Diffstat:
2 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/crates/relay_transport/src/fetch.rs b/crates/relay_transport/src/fetch.rs
@@ -9,7 +9,7 @@ use radroots_event_store::{
};
use radroots_nostr::prelude::{RadrootsNostrEvent, radroots_event_from_nostr};
use serde::{Deserialize, Serialize};
-use std::sync::{Arc, Mutex};
+use std::sync::{Arc, Mutex, PoisonError};
#[derive(Clone, Copy, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum RadrootsRelayFetchMode {
@@ -266,17 +266,11 @@ impl RadrootsRelayFetchAdapter for RadrootsMockRelayFetchAdapter {
&'a self,
_request: RadrootsRelayFetchRequest,
) -> BoxFuture<'a, Result<Vec<RadrootsRelayFetchItem>, RadrootsRelayTransportError>> {
- Box::pin(async move {
- Ok(self
- .items
- .lock()
- .map_err(|_| fetch_item_lock_error())?
- .clone())
- })
+ Box::pin(async move { Ok(self.items.lock().map_err(fetch_item_lock_error)?.clone()) })
}
}
#[cfg_attr(coverage_nightly, coverage(off))]
-fn fetch_item_lock_error() -> RadrootsRelayTransportError {
+fn fetch_item_lock_error<T>(_error: PoisonError<T>) -> RadrootsRelayTransportError {
RadrootsRelayTransportError::Transport("fetch item lock poisoned".to_owned())
}
diff --git a/crates/relay_transport/src/publish.rs b/crates/relay_transport/src/publish.rs
@@ -8,7 +8,7 @@ use futures::future::BoxFuture;
use radroots_events::draft::RadrootsSignedNostrEvent;
use serde::{Deserialize, Serialize};
use std::collections::BTreeMap;
-use std::sync::{Arc, Mutex};
+use std::sync::{Arc, Mutex, PoisonError};
#[cfg(feature = "client")]
use nostr::JsonUtil;
@@ -160,7 +160,7 @@ impl RadrootsRelayPublishAdapter for RadrootsMockRelayPublishAdapter {
Box::pin(async move {
self.captured_raw_events
.lock()
- .map_err(|_| captured_raw_event_lock_error())?
+ .map_err(captured_raw_event_lock_error)?
.push(request.signed_event.raw_json.clone());
Ok(request
.targets
@@ -180,7 +180,7 @@ impl RadrootsRelayPublishAdapter for RadrootsMockRelayPublishAdapter {
}
#[cfg_attr(coverage_nightly, coverage(off))]
-fn captured_raw_event_lock_error() -> RadrootsRelayTransportError {
+fn captured_raw_event_lock_error<T>(_error: PoisonError<T>) -> RadrootsRelayTransportError {
RadrootsRelayTransportError::Transport("captured raw event lock poisoned".to_owned())
}