Skip to content

Commit c551359

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 477a902 commit c551359

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
@@ -155,22 +155,36 @@ impl CustomOnionMessageHandler for TestCustomMessageHandler {
155155
}
156156

157157
fn create_nodes(num_messengers: u8) -> Vec<MessengerNode> {
158-
let secrets = (1..=num_messengers)
158+
let cfgs = (1..=num_messengers)
159159
.into_iter()
160-
.map(|i| SecretKey::from_slice(&[i; 32]).unwrap())
160+
.map(|_| MessengerCfg::new())
161161
.collect();
162-
create_nodes_using_secrets(secrets)
162+
create_nodes_using_cfgs(cfgs)
163163
}
164164

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

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

542556
#[test]
543557
fn spec_test_vector() {
544-
let secret_keys = [
558+
let node_cfgs = [
545559
"4141414141414141414141414141414141414141414141414141414141414141", // Alice
546560
"4242424242424242424242424242424242424242424242424242424242424242", // Bob
547561
"4343434343434343434343434343434343434343434343434343434343434343", // Carol
548562
"4444444444444444444444444444444444444444444444444444444444444444", // Dave
549563
]
550564
.iter()
551-
.map(|secret| SecretKey::from_slice(&<Vec<u8>>::from_hex(secret).unwrap()).unwrap())
565+
.map(|secret_hex| SecretKey::from_slice(&<Vec<u8>>::from_hex(secret_hex).unwrap()).unwrap())
566+
.map(|secret| MessengerCfg::new().with_node_secret(secret))
552567
.collect();
553-
let nodes = create_nodes_using_secrets(secret_keys);
568+
let nodes = create_nodes_using_cfgs(node_cfgs);
554569

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

0 commit comments

Comments
 (0)