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