@@ -15274,9 +15274,26 @@ mod tests {
1527415274
1527515275 create_announced_chan_between_nodes(&nodes, 0, 1);
1527615276
15277- // Since we do not send peer storage, we manually simulate receiving a dummy
15278- // `PeerStorage` from the channel partner.
15279- nodes[0].node.handle_peer_storage(nodes[1].node.get_our_node_id(), msgs::PeerStorage{data: vec![0; 100]});
15277+ let peer_storage_msg_events_node0 = nodes[0].chain_monitor.chain_monitor.get_and_clear_pending_msg_events();
15278+ let peer_storage_msg_events_node1 = nodes[1].chain_monitor.chain_monitor.get_and_clear_pending_msg_events();
15279+ assert_ne!(peer_storage_msg_events_node0.len(), 0);
15280+ assert_ne!(peer_storage_msg_events_node1.len(), 0);
15281+
15282+ match peer_storage_msg_events_node0[0] {
15283+ MessageSendEvent::SendPeerStorage { ref node_id, ref msg } => {
15284+ assert_eq!(*node_id, nodes[1].node.get_our_node_id());
15285+ nodes[1].node.handle_peer_storage(nodes[0].node.get_our_node_id(), msg.clone());
15286+ }
15287+ _ => panic!("Unexpected event"),
15288+ }
15289+
15290+ match peer_storage_msg_events_node1[0] {
15291+ MessageSendEvent::SendPeerStorage { ref node_id, ref msg } => {
15292+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15293+ nodes[0].node.handle_peer_storage(nodes[1].node.get_our_node_id(), msg.clone());
15294+ }
15295+ _ => panic!("Unexpected event"),
15296+ }
1528015297
1528115298 nodes[0].node.peer_disconnected(nodes[1].node.get_our_node_id());
1528215299 nodes[1].node.peer_disconnected(nodes[0].node.get_our_node_id());
@@ -15288,9 +15305,24 @@ mod tests {
1528815305 features: nodes[0].node.init_features(), networks: None, remote_network_address: None
1528915306 }, false).unwrap();
1529015307
15308+ let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
15309+ assert_eq!(node_1_events.len(), 2);
15310+
1529115311 let node_0_events = nodes[0].node.get_and_clear_pending_msg_events();
1529215312 assert_eq!(node_0_events.len(), 2);
1529315313
15314+ for msg in node_1_events{
15315+ if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
15316+ nodes[0].node.handle_channel_reestablish(nodes[1].node.get_our_node_id(), msg);
15317+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15318+ } else if let MessageSendEvent::SendPeerStorageRetrieval { ref node_id, ref msg } = msg {
15319+ nodes[0].node.handle_peer_storage_retrieval(nodes[1].node.get_our_node_id(), msg.clone());
15320+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15321+ } else {
15322+ panic!("Unexpected event")
15323+ }
15324+ }
15325+
1529415326 for msg in node_0_events{
1529515327 if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
1529615328 nodes[1].node.handle_channel_reestablish(nodes[0].node.get_our_node_id(), msg);
@@ -15303,30 +15335,9 @@ mod tests {
1530315335 }
1530415336 }
1530515337
15306- let msg_events_after_peer_storage_retrieval = nodes[1].node.get_and_clear_pending_msg_events();
15307-
15308- // Check if we receive a warning message.
15309- let peer_storage_warning: Vec<&MessageSendEvent> = msg_events_after_peer_storage_retrieval
15310- .iter()
15311- .filter(|event| match event {
15312- MessageSendEvent::HandleError { .. } => true,
15313- _ => false,
15314- })
15315- .collect();
15316-
15317- assert_eq!(peer_storage_warning.len(), 1);
15318-
15319- match peer_storage_warning[0] {
15320- MessageSendEvent::HandleError { node_id, action } => {
15321- assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15322- match action {
15323- ErrorAction::SendWarningMessage { msg, .. } =>
15324- assert_eq!(msg.data, "Invalid peer_storage_retrieval message received.".to_owned()),
15325- _ => panic!("Unexpected error action"),
15326- }
15327- }
15328- _ => panic!("Unexpected event"),
15329- }
15338+ // Clear all other messages.
15339+ nodes[1].node.get_and_clear_pending_msg_events();
15340+ nodes[0].node.get_and_clear_pending_msg_events();
1533015341 }
1533115342
1533215343 #[test]
0 commit comments