X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=lightning%2Fsrc%2Fonion_message%2Ffunctional_tests.rs;h=991f0d1c2650ab172a1d5e7c0bffb712f5b089c1;hb=a4e242ba5f5260dadf4781d9f8c1cf36845b0e18;hp=5c623cf2f48a143a84a09c5eadc592d61ef21513;hpb=a257906743d528c32c862b053b652d4b728aa990;p=rust-lightning diff --git a/lightning/src/onion_message/functional_tests.rs b/lightning/src/onion_message/functional_tests.rs index 5c623cf2..991f0d1c 100644 --- a/lightning/src/onion_message/functional_tests.rs +++ b/lightning/src/onion_message/functional_tests.rs @@ -170,6 +170,20 @@ fn too_big_packet_error() { assert_eq!(err, SendError::TooBigPacket); } +#[test] +fn we_are_intro_node() { + // If we are sending straight to a blinded route and we are the introduction node, we need to + // advance the blinded route by 1 hop so the second hop is the new introduction node. + let nodes = create_nodes(3); + let test_msg = TestCustomMessage {}; + + let secp_ctx = Secp256k1::new(); + let blinded_route = BlindedRoute::new(&[nodes[0].get_node_pk(), nodes[1].get_node_pk(), nodes[2].get_node_pk()], &*nodes[2].keys_manager, &secp_ctx).unwrap(); + + nodes[0].messenger.send_onion_message(&[], Destination::BlindedRoute(blinded_route), OnionMessageContents::Custom(test_msg.clone()), None).unwrap(); + pass_along_path(&nodes, None); +} + #[test] fn invalid_blinded_route_error() { // Make sure we error as expected if a provided blinded route has 0 or 1 hops.