@@ -15176,9 +15176,26 @@ mod tests {
1517615176
1517715177 create_announced_chan_between_nodes(&nodes, 0, 1);
1517815178
15179- // Since we do not send peer storage, we manually simulate receiving a dummy
15180- // `PeerStorage` from the channel partner.
15181- nodes[0].node.handle_peer_storage(nodes[1].node.get_our_node_id(), msgs::PeerStorage{data: vec![0; 100]});
15179+ let peer_storage_msg_events_node0 = nodes[0].chain_monitor.chain_monitor.get_and_clear_pending_msg_events();
15180+ let peer_storage_msg_events_node1 = nodes[1].chain_monitor.chain_monitor.get_and_clear_pending_msg_events();
15181+ assert_ne!(peer_storage_msg_events_node0.len(), 0);
15182+ assert_ne!(peer_storage_msg_events_node1.len(), 0);
15183+
15184+ match peer_storage_msg_events_node0[0] {
15185+ MessageSendEvent::SendPeerStorage { ref node_id, ref msg } => {
15186+ assert_eq!(*node_id, nodes[1].node.get_our_node_id());
15187+ nodes[1].node.handle_peer_storage(nodes[0].node.get_our_node_id(), msg.clone());
15188+ }
15189+ _ => panic!("Unexpected event"),
15190+ }
15191+
15192+ match peer_storage_msg_events_node1[0] {
15193+ MessageSendEvent::SendPeerStorage { ref node_id, ref msg } => {
15194+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15195+ nodes[0].node.handle_peer_storage(nodes[1].node.get_our_node_id(), msg.clone());
15196+ }
15197+ _ => panic!("Unexpected event"),
15198+ }
1518215199
1518315200 nodes[0].node.peer_disconnected(nodes[1].node.get_our_node_id());
1518415201 nodes[1].node.peer_disconnected(nodes[0].node.get_our_node_id());
@@ -15190,9 +15207,24 @@ mod tests {
1519015207 features: nodes[0].node.init_features(), networks: None, remote_network_address: None
1519115208 }, false).unwrap();
1519215209
15210+ let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
15211+ assert_eq!(node_1_events.len(), 2);
15212+
1519315213 let node_0_events = nodes[0].node.get_and_clear_pending_msg_events();
1519415214 assert_eq!(node_0_events.len(), 2);
1519515215
15216+ for msg in node_1_events{
15217+ if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
15218+ nodes[0].node.handle_channel_reestablish(nodes[1].node.get_our_node_id(), msg);
15219+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15220+ } else if let MessageSendEvent::SendPeerStorageRetrieval { ref node_id, ref msg } = msg {
15221+ nodes[0].node.handle_peer_storage_retrieval(nodes[1].node.get_our_node_id(), msg.clone());
15222+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15223+ } else {
15224+ panic!("Unexpected event")
15225+ }
15226+ }
15227+
1519615228 for msg in node_0_events{
1519715229 if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
1519815230 nodes[1].node.handle_channel_reestablish(nodes[0].node.get_our_node_id(), msg);
@@ -15205,30 +15237,9 @@ mod tests {
1520515237 }
1520615238 }
1520715239
15208- let msg_events_after_peer_storage_retrieval = nodes[1].node.get_and_clear_pending_msg_events();
15209-
15210- // Check if we receive a warning message.
15211- let peer_storage_warning: Vec<&MessageSendEvent> = msg_events_after_peer_storage_retrieval
15212- .iter()
15213- .filter(|event| match event {
15214- MessageSendEvent::HandleError { .. } => true,
15215- _ => false,
15216- })
15217- .collect();
15218-
15219- assert_eq!(peer_storage_warning.len(), 1);
15220-
15221- match peer_storage_warning[0] {
15222- MessageSendEvent::HandleError { node_id, action } => {
15223- assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15224- match action {
15225- ErrorAction::SendWarningMessage { msg, .. } =>
15226- assert_eq!(msg.data, "Invalid peer_storage_retrieval message received.".to_owned()),
15227- _ => panic!("Unexpected error action"),
15228- }
15229- }
15230- _ => panic!("Unexpected event"),
15231- }
15240+ // Clear all other messages.
15241+ nodes[1].node.get_and_clear_pending_msg_events();
15242+ nodes[0].node.get_and_clear_pending_msg_events();
1523215243 }
1523315244
1523415245 #[test]
0 commit comments