@@ -15077,10 +15077,27 @@ mod tests {
1507715077 let nodes = create_network(2, &node_cfgs, &node_chanmgrs);
1507815078
1507915079 create_announced_chan_between_nodes(&nodes, 0, 1);
15080-
15081- // Since we do not send peer storage, we manually simulate receiving a dummy
15082- // `PeerStorage` from the channel partner.
15083- nodes[0].node.handle_peer_storage(nodes[1].node.get_our_node_id(), msgs::PeerStorage{data: vec![0; 100]});
15080+
15081+ let peer_storage_msg_events_node0 = nodes[0].chain_monitor.chain_monitor.get_and_clear_pending_msg_events();
15082+ let peer_storage_msg_events_node1 = nodes[1].chain_monitor.chain_monitor.get_and_clear_pending_msg_events();
15083+ assert_ne!(peer_storage_msg_events_node0.len(), 0);
15084+ assert_ne!(peer_storage_msg_events_node1.len(), 0);
15085+
15086+ match peer_storage_msg_events_node0[0] {
15087+ MessageSendEvent::SendPeerStorage { ref node_id, ref msg } => {
15088+ assert_eq!(*node_id, nodes[1].node.get_our_node_id());
15089+ nodes[1].node.handle_peer_storage(nodes[0].node.get_our_node_id(), msg.clone());
15090+ }
15091+ _ => panic!("Unexpected event"),
15092+ }
15093+
15094+ match peer_storage_msg_events_node1[0] {
15095+ MessageSendEvent::SendPeerStorage { ref node_id, ref msg } => {
15096+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15097+ nodes[0].node.handle_peer_storage(nodes[1].node.get_our_node_id(), msg.clone());
15098+ }
15099+ _ => panic!("Unexpected event"),
15100+ }
1508415101
1508515102 nodes[0].node.peer_disconnected(nodes[1].node.get_our_node_id());
1508615103 nodes[1].node.peer_disconnected(nodes[0].node.get_our_node_id());
@@ -15092,9 +15109,24 @@ mod tests {
1509215109 features: nodes[0].node.init_features(), networks: None, remote_network_address: None
1509315110 }, false).unwrap();
1509415111
15112+ let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
15113+ assert_eq!(node_1_events.len(), 2);
15114+
1509515115 let node_0_events = nodes[0].node.get_and_clear_pending_msg_events();
1509615116 assert_eq!(node_0_events.len(), 2);
1509715117
15118+ for msg in node_1_events{
15119+ if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
15120+ nodes[0].node.handle_channel_reestablish(nodes[1].node.get_our_node_id(), msg);
15121+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15122+ } else if let MessageSendEvent::SendPeerStorageRetrieval { ref node_id, ref msg } = msg {
15123+ nodes[0].node.handle_peer_storage_retrieval(nodes[1].node.get_our_node_id(), msg.clone());
15124+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15125+ } else {
15126+ panic!("Unexpected event")
15127+ }
15128+ }
15129+
1509815130 for msg in node_0_events{
1509915131 if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
1510015132 nodes[1].node.handle_channel_reestablish(nodes[0].node.get_our_node_id(), msg);
@@ -15107,30 +15139,9 @@ mod tests {
1510715139 }
1510815140 }
1510915141
15110- let msg_events_after_peer_storage_retrieval = nodes[1].node.get_and_clear_pending_msg_events();
15111-
15112- // Check if we receive a warning message.
15113- let peer_storage_warning: Vec<&MessageSendEvent> = msg_events_after_peer_storage_retrieval
15114- .iter()
15115- .filter(|event| match event {
15116- MessageSendEvent::HandleError { .. } => true,
15117- _ => false,
15118- })
15119- .collect();
15120-
15121- assert_eq!(peer_storage_warning.len(), 1);
15122-
15123- match peer_storage_warning[0] {
15124- MessageSendEvent::HandleError { node_id, action } => {
15125- assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15126- match action {
15127- ErrorAction::SendWarningMessage { msg, .. } =>
15128- assert_eq!(msg.data, "Invalid peer_storage_retrieval message received.".to_owned()),
15129- _ => panic!("Unexpected error action"),
15130- }
15131- }
15132- _ => panic!("Unexpected event"),
15133- }
15142+ // Clear all other messages.
15143+ nodes[1].node.get_and_clear_pending_msg_events();
15144+ nodes[0].node.get_and_clear_pending_msg_events();
1513415145 }
1513515146
1513615147 #[test]
0 commit comments