use saorsa_gossip_transport::GossipTransport;
use std::time::Duration;
use x0x::network::{NetworkConfig, NetworkNode};
#[tokio::test]
async fn test_receive_message_blocks_until_message() {
let network = NetworkNode::new(NetworkConfig::default(), None, None)
.await
.expect("Failed to create network node");
let result = tokio::time::timeout(Duration::from_millis(100), network.receive_message()).await;
assert!(
result.is_err(),
"receive_message() should timeout when no messages available"
);
}
#[tokio::test]
async fn test_receive_message_with_timeout_context() {
let network = NetworkNode::new(NetworkConfig::default(), None, None)
.await
.expect("Failed to create network node");
for _ in 0..3 {
let result: Result<_, tokio::time::error::Elapsed> =
tokio::time::timeout(Duration::from_millis(50), network.receive_message()).await;
assert!(result.is_err());
}
assert!(network.peer_id().0.len() == 32);
}