@@ -15203,9 +15203,26 @@ mod tests {
15203
15203
15204
15204
create_announced_chan_between_nodes(&nodes, 0, 1);
15205
15205
15206
- // Since we do not send peer storage, we manually simulate receiving a dummy
15207
- // `PeerStorage` from the channel partner.
15208
- nodes[0].node.handle_peer_storage(nodes[1].node.get_our_node_id(), msgs::PeerStorage{data: vec![0; 100]});
15206
+ let peer_storage_msg_events_node0 = nodes[0].chain_monitor.chain_monitor.get_and_clear_pending_msg_events();
15207
+ let peer_storage_msg_events_node1 = nodes[1].chain_monitor.chain_monitor.get_and_clear_pending_msg_events();
15208
+ assert_ne!(peer_storage_msg_events_node0.len(), 0);
15209
+ assert_ne!(peer_storage_msg_events_node1.len(), 0);
15210
+
15211
+ match peer_storage_msg_events_node0[0] {
15212
+ MessageSendEvent::SendPeerStorage { ref node_id, ref msg } => {
15213
+ assert_eq!(*node_id, nodes[1].node.get_our_node_id());
15214
+ nodes[1].node.handle_peer_storage(nodes[0].node.get_our_node_id(), msg.clone());
15215
+ }
15216
+ _ => panic!("Unexpected event"),
15217
+ }
15218
+
15219
+ match peer_storage_msg_events_node1[0] {
15220
+ MessageSendEvent::SendPeerStorage { ref node_id, ref msg } => {
15221
+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15222
+ nodes[0].node.handle_peer_storage(nodes[1].node.get_our_node_id(), msg.clone());
15223
+ }
15224
+ _ => panic!("Unexpected event"),
15225
+ }
15209
15226
15210
15227
nodes[0].node.peer_disconnected(nodes[1].node.get_our_node_id());
15211
15228
nodes[1].node.peer_disconnected(nodes[0].node.get_our_node_id());
@@ -15217,9 +15234,24 @@ mod tests {
15217
15234
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
15218
15235
}, false).unwrap();
15219
15236
15237
+ let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
15238
+ assert_eq!(node_1_events.len(), 2);
15239
+
15220
15240
let node_0_events = nodes[0].node.get_and_clear_pending_msg_events();
15221
15241
assert_eq!(node_0_events.len(), 2);
15222
15242
15243
+ for msg in node_1_events{
15244
+ if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
15245
+ nodes[0].node.handle_channel_reestablish(nodes[1].node.get_our_node_id(), msg);
15246
+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15247
+ } else if let MessageSendEvent::SendPeerStorageRetrieval { ref node_id, ref msg } = msg {
15248
+ nodes[0].node.handle_peer_storage_retrieval(nodes[1].node.get_our_node_id(), msg.clone());
15249
+ assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15250
+ } else {
15251
+ panic!("Unexpected event")
15252
+ }
15253
+ }
15254
+
15223
15255
for msg in node_0_events{
15224
15256
if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
15225
15257
nodes[1].node.handle_channel_reestablish(nodes[0].node.get_our_node_id(), msg);
@@ -15232,30 +15264,9 @@ mod tests {
15232
15264
}
15233
15265
}
15234
15266
15235
- let msg_events_after_peer_storage_retrieval = nodes[1].node.get_and_clear_pending_msg_events();
15236
-
15237
- // Check if we receive a warning message.
15238
- let peer_storage_warning: Vec<&MessageSendEvent> = msg_events_after_peer_storage_retrieval
15239
- .iter()
15240
- .filter(|event| match event {
15241
- MessageSendEvent::HandleError { .. } => true,
15242
- _ => false,
15243
- })
15244
- .collect();
15245
-
15246
- assert_eq!(peer_storage_warning.len(), 1);
15247
-
15248
- match peer_storage_warning[0] {
15249
- MessageSendEvent::HandleError { node_id, action } => {
15250
- assert_eq!(*node_id, nodes[0].node.get_our_node_id());
15251
- match action {
15252
- ErrorAction::SendWarningMessage { msg, .. } =>
15253
- assert_eq!(msg.data, "Invalid peer_storage_retrieval message received.".to_owned()),
15254
- _ => panic!("Unexpected error action"),
15255
- }
15256
- }
15257
- _ => panic!("Unexpected event"),
15258
- }
15267
+ // Clear all other messages.
15268
+ nodes[1].node.get_and_clear_pending_msg_events();
15269
+ nodes[0].node.get_and_clear_pending_msg_events();
15259
15270
}
15260
15271
15261
15272
#[test]
0 commit comments