Skip to content

Commit 1b6532a

Browse files
committed
f expand test
1 parent 46d856d commit 1b6532a

File tree

1 file changed

+39
-3
lines changed

1 file changed

+39
-3
lines changed

lightning/src/ln/peer_handler.rs

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3728,6 +3728,7 @@ mod tests {
37283728
chan_handler: test_utils::TestChannelMessageHandler,
37293729
routing_handler: test_utils::TestRoutingMessageHandler,
37303730
custom_handler: TestCustomMessageHandler,
3731+
send_only_handler: TestBaseMsgHandler,
37313732
logger: test_utils::TestLogger,
37323733
node_signer: test_utils::TestNodeSigner,
37333734
}
@@ -3780,6 +3781,32 @@ mod tests {
37803781
}
37813782
}
37823783

3784+
struct TestBaseMsgHandler(test_utils::ConnectionTracker);
3785+
3786+
impl BaseMessageHandler for TestBaseMsgHandler {
3787+
fn get_and_clear_pending_msg_events(&self) -> Vec<MessageSendEvent> {
3788+
Vec::new()
3789+
}
3790+
3791+
fn peer_disconnected(&self, their_node_id: PublicKey) {
3792+
self.0.peer_disconnected(their_node_id);
3793+
}
3794+
3795+
fn peer_connected(
3796+
&self, their_node_id: PublicKey, _msg: &Init, _inbound: bool,
3797+
) -> Result<(), ()> {
3798+
self.0.peer_connected(their_node_id)
3799+
}
3800+
3801+
fn provided_node_features(&self) -> NodeFeatures {
3802+
NodeFeatures::empty()
3803+
}
3804+
3805+
fn provided_init_features(&self, _: PublicKey) -> InitFeatures {
3806+
InitFeatures::empty()
3807+
}
3808+
}
3809+
37833810
fn create_peermgr_cfgs(peer_count: usize) -> Vec<PeerManagerCfg> {
37843811
let mut cfgs = Vec::new();
37853812
for i in 0..peer_count {
@@ -3796,6 +3823,7 @@ mod tests {
37963823
logger: test_utils::TestLogger::with_id(i.to_string()),
37973824
routing_handler: test_utils::TestRoutingMessageHandler::new(),
37983825
custom_handler: TestCustomMessageHandler::new(features),
3826+
send_only_handler: TestBaseMsgHandler(test_utils::ConnectionTracker::new()),
37993827
node_signer: test_utils::TestNodeSigner::new(node_secret),
38003828
});
38013829
}
@@ -3819,6 +3847,7 @@ mod tests {
38193847
logger: test_utils::TestLogger::new(),
38203848
routing_handler: test_utils::TestRoutingMessageHandler::new(),
38213849
custom_handler: TestCustomMessageHandler::new(features),
3850+
send_only_handler: TestBaseMsgHandler(test_utils::ConnectionTracker::new()),
38223851
node_signer: test_utils::TestNodeSigner::new(node_secret),
38233852
});
38243853
}
@@ -3837,6 +3866,7 @@ mod tests {
38373866
logger: test_utils::TestLogger::new(),
38383867
routing_handler: test_utils::TestRoutingMessageHandler::new(),
38393868
custom_handler: TestCustomMessageHandler::new(features),
3869+
send_only_handler: TestBaseMsgHandler(test_utils::ConnectionTracker::new()),
38403870
node_signer: test_utils::TestNodeSigner::new(node_secret),
38413871
});
38423872
}
@@ -3853,7 +3883,7 @@ mod tests {
38533883
route_handler: &cfgs[i].routing_handler,
38543884
onion_message_handler: IgnoringMessageHandler {},
38553885
custom_message_handler: &cfgs[i].custom_handler,
3856-
send_only_message_handler: IgnoringMessageHandler {},
3886+
send_only_message_handler: &cfgs[i].send_only_handler,
38573887
};
38583888
let peer = PeerManager::new(
38593889
msg_handler,
@@ -3876,7 +3906,7 @@ mod tests {
38763906
&'a test_utils::TestLogger,
38773907
&'a TestCustomMessageHandler,
38783908
&'a test_utils::TestNodeSigner,
3879-
IgnoringMessageHandler,
3909+
&'a TestBaseMsgHandler,
38803910
>;
38813911

38823912
fn try_establish_connection<'a>(
@@ -4252,6 +4282,7 @@ mod tests {
42524282
let chan_handler = peers[handler & 1].message_handler.chan_handler;
42534283
let route_handler = peers[handler & 1].message_handler.route_handler;
42544284
let custom_message_handler = peers[handler & 1].message_handler.custom_message_handler;
4285+
let send_only_msg_handler = peers[handler & 1].message_handler.send_only_message_handler;
42554286

42564287
match handler & !1 {
42574288
0 => {
@@ -4263,6 +4294,9 @@ mod tests {
42634294
4 => {
42644295
custom_message_handler.conn_tracker.fail_connections.store(true, Ordering::Release);
42654296
},
4297+
6 => {
4298+
send_only_msg_handler.0.fail_connections.store(true, Ordering::Release);
4299+
},
42664300
_ => panic!(),
42674301
}
42684302
let (_sd1, _sd2, a_refused, b_refused) = try_establish_connection(&peers[0], &peers[1]);
@@ -4278,16 +4312,18 @@ mod tests {
42784312
chan_handler.conn_tracker.had_peers.load(Ordering::Acquire)
42794313
|| route_handler.conn_tracker.had_peers.load(Ordering::Acquire)
42804314
|| custom_message_handler.conn_tracker.had_peers.load(Ordering::Acquire)
4315+
|| send_only_msg_handler.0.had_peers.load(Ordering::Acquire)
42814316
);
42824317
// And both message handlers doing tracking should see the disconnection
42834318
assert!(chan_handler.conn_tracker.connected_peers.lock().unwrap().is_empty());
42844319
assert!(route_handler.conn_tracker.connected_peers.lock().unwrap().is_empty());
42854320
assert!(custom_message_handler.conn_tracker.connected_peers.lock().unwrap().is_empty());
4321+
assert!(send_only_msg_handler.0.connected_peers.lock().unwrap().is_empty());
42864322
}
42874323

42884324
#[test]
42894325
fn test_peer_connected_error_disconnects() {
4290-
for i in 0..6 {
4326+
for i in 0..8 {
42914327
do_test_peer_connected_error_disconnects(i);
42924328
}
42934329
}

0 commit comments

Comments
 (0)