@@ -15077,10 +15077,27 @@ mod tests {
15077
15077
let nodes = create_network(2, &node_cfgs, &node_chanmgrs);
15078
15078
15079
15079
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
+ }
15084
15101
15085
15102
nodes[0].node.peer_disconnected(nodes[1].node.get_our_node_id());
15086
15103
nodes[1].node.peer_disconnected(nodes[0].node.get_our_node_id());
@@ -15092,9 +15109,24 @@ mod tests {
15092
15109
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
15093
15110
}, false).unwrap();
15094
15111
15112
+ let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
15113
+ assert_eq!(node_1_events.len(), 2);
15114
+
15095
15115
let node_0_events = nodes[0].node.get_and_clear_pending_msg_events();
15096
15116
assert_eq!(node_0_events.len(), 2);
15097
15117
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
+
15098
15130
for msg in node_0_events{
15099
15131
if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
15100
15132
nodes[1].node.handle_channel_reestablish(nodes[0].node.get_our_node_id(), msg);
@@ -15107,30 +15139,9 @@ mod tests {
15107
15139
}
15108
15140
}
15109
15141
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();
15134
15145
}
15135
15146
15136
15147
#[test]
0 commit comments