lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

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:
Mcrates/relay_transport/src/fetch.rs | 12+++---------
Mcrates/relay_transport/src/publish.rs | 6+++---
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()) }