Skip to content

Commit 8f395bf

Browse files
Refactor MessengerNode test util construction to take config.
Will be used in the next commit when another config parameter is added.
1 parent 0d987d0 commit 8f395bf

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

lightning/src/onion_message/functional_tests.rs

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,22 +154,36 @@ impl CustomOnionMessageHandler for TestCustomMessageHandler {
154154
}
155155

156156
fn create_nodes(num_messengers: u8) -> Vec<MessengerNode> {
157-
let secrets = (1..=num_messengers)
157+
let cfgs = (1..=num_messengers)
158158
.into_iter()
159-
.map(|i| SecretKey::from_slice(&[i; 32]).unwrap())
159+
.map(|_| MessengerCfg::new())
160160
.collect();
161-
create_nodes_using_secrets(secrets)
161+
create_nodes_using_cfgs(cfgs)
162162
}
163163

164-
fn create_nodes_using_secrets(secrets: Vec<SecretKey>) -> Vec<MessengerNode> {
164+
struct MessengerCfg {
165+
secret_override: Option<SecretKey>,
166+
}
167+
impl MessengerCfg {
168+
fn new() -> Self {
169+
Self { secret_override: None }
170+
}
171+
fn with_node_secret(mut self, secret: SecretKey) -> Self {
172+
self.secret_override = Some(secret);
173+
self
174+
}
175+
}
176+
177+
fn create_nodes_using_cfgs(cfgs: Vec<MessengerCfg>) -> Vec<MessengerNode> {
165178
let gossip_logger = Arc::new(test_utils::TestLogger::with_id("gossip".to_string()));
166179
let network_graph = Arc::new(NetworkGraph::new(Network::Testnet, gossip_logger.clone()));
167180
let gossip_sync = Arc::new(
168181
P2PGossipSync::new(network_graph.clone(), None, gossip_logger)
169182
);
170183

171184
let mut nodes = Vec::new();
172-
for (i, secret_key) in secrets.into_iter().enumerate() {
185+
for (i, cfg) in cfgs.into_iter().enumerate() {
186+
let secret_key = cfg.secret_override.unwrap_or(SecretKey::from_slice(&[(i + 1) as u8; 32]).unwrap());
173187
let logger = Arc::new(test_utils::TestLogger::with_id(format!("node {}", i)));
174188
let seed = [i as u8; 32];
175189
let entropy_source = Arc::new(test_utils::TestKeysInterface::new(&seed, Network::Testnet));
@@ -539,16 +553,17 @@ fn drops_buffered_messages_waiting_for_peer_connection() {
539553

540554
#[test]
541555
fn spec_test_vector() {
542-
let secret_keys = [
556+
let node_cfgs = [
543557
"4141414141414141414141414141414141414141414141414141414141414141", // Alice
544558
"4242424242424242424242424242424242424242424242424242424242424242", // Bob
545559
"4343434343434343434343434343434343434343434343434343434343434343", // Carol
546560
"4444444444444444444444444444444444444444444444444444444444444444", // Dave
547561
]
548562
.iter()
549-
.map(|secret| SecretKey::from_slice(&<Vec<u8>>::from_hex(secret).unwrap()).unwrap())
563+
.map(|secret_hex| SecretKey::from_slice(&<Vec<u8>>::from_hex(secret_hex).unwrap()).unwrap())
564+
.map(|secret| MessengerCfg::new().with_node_secret(secret))
550565
.collect();
551-
let nodes = create_nodes_using_secrets(secret_keys);
566+
let nodes = create_nodes_using_cfgs(node_cfgs);
552567

553568
// Hardcode the sender->Alice onion message, because it includes an unknown TLV of type 1, which
554569
// LDK doesn't support constructing.

0 commit comments

Comments
 (0)