@@ -15274,9 +15274,26 @@ mod tests {
15274
15274
15275
15275
create_announced_chan_between_nodes(&nodes, 0, 1);
15276
15276
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
+ }
15280
15297
15281
15298
nodes[0].node.peer_disconnected(nodes[1].node.get_our_node_id());
15282
15299
nodes[1].node.peer_disconnected(nodes[0].node.get_our_node_id());
@@ -15288,9 +15305,24 @@ mod tests {
15288
15305
features: nodes[0].node.init_features(), networks: None, remote_network_address: None
15289
15306
}, false).unwrap();
15290
15307
15308
+ let node_1_events = nodes[1].node.get_and_clear_pending_msg_events();
15309
+ assert_eq!(node_1_events.len(), 2);
15310
+
15291
15311
let node_0_events = nodes[0].node.get_and_clear_pending_msg_events();
15292
15312
assert_eq!(node_0_events.len(), 2);
15293
15313
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
+
15294
15326
for msg in node_0_events{
15295
15327
if let MessageSendEvent::SendChannelReestablish { ref node_id, ref msg } = msg {
15296
15328
nodes[1].node.handle_channel_reestablish(nodes[0].node.get_our_node_id(), msg);
@@ -15303,30 +15335,9 @@ mod tests {
15303
15335
}
15304
15336
}
15305
15337
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();
15330
15341
}
15331
15342
15332
15343
#[test]
0 commit comments