@@ -15176,9 +15176,26 @@ mod tests {
15176
15176
15177
15177
create_announced_chan_between_nodes(&nodes, 0, 1);
15178
15178
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
+ }
15182
15199
15183
15200
nodes[0].node.peer_disconnected(nodes[1].node.get_our_node_id());
15184
15201
nodes[1].node.peer_disconnected(nodes[0].node.get_our_node_id());
@@ -15190,9 +15207,24 @@ mod tests {
15190
15207
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
15191
15208
}, false).unwrap();
15192
15209
15210
+ let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
15211
+ assert_eq!(node_1_events.len(), 2);
15212
+
15193
15213
let node_0_events = nodes[0].node.get_and_clear_pending_msg_events();
15194
15214
assert_eq!(node_0_events.len(), 2);
15195
15215
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
+
15196
15228
for msg in node_0_events{
15197
15229
if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
15198
15230
nodes[1].node.handle_channel_reestablish(nodes[0].node.get_our_node_id(), msg);
@@ -15205,30 +15237,9 @@ mod tests {
15205
15237
}
15206
15238
}
15207
15239
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();
15232
15243
}
15233
15244
15234
15245
#[test]
0 commit comments