From 335fd49eb52f23e54b37b41761dc22f2f8114f8e Mon Sep 17 00:00:00 2001 From: Alekos Filini Date: Thu, 16 Jul 2020 13:58:05 +0200 Subject: [PATCH] Add extra test + minor refactoring --- src/raw_client.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/raw_client.rs b/src/raw_client.rs index be8ce3a..3d17d38 100644 --- a/src/raw_client.rs +++ b/src/raw_client.rs @@ -342,12 +342,11 @@ impl RawClient { // move on trace!("Reader thread received response for {}", resp_id); - let mut map = self.waiting_map.lock().unwrap(); - if let Some(sender) = map.get(&resp_id) { + if let Some(sender) = self.waiting_map.lock().unwrap().remove(&resp_id) + { sender .send(ChannelMessage::Response(resp)) .expect("Unable to send the response"); - map.remove(&resp_id); } else { warn!("Missing listener for {}", resp_id); } @@ -1098,4 +1097,12 @@ mod test { // Just make sure that the call returns Ok(something) client.script_subscribe(&addr.script_pubkey()).unwrap(); } + + #[test] + fn test_request_after_error() { + let client = RawClient::new(get_test_server()).unwrap(); + + assert!(client.transaction_broadcast_raw(&[0x00]).is_err()); + assert!(client.server_features().is_ok()); + } }