From e7ca8f8a29f5d8fe1028a43c95abf052c95418d6 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 5 Aug 2021 13:53:04 +0000 Subject: [PATCH] update tests for new upstream and check null result --- src/test/java/org/ldk/HumanObjectPeerTest.java | 7 ++++++- src/test/java/org/ldk/PeerTest.java | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/ldk/HumanObjectPeerTest.java b/src/test/java/org/ldk/HumanObjectPeerTest.java index 79085c53..bdfaee3f 100644 --- a/src/test/java/org/ldk/HumanObjectPeerTest.java +++ b/src/test/java/org/ldk/HumanObjectPeerTest.java @@ -615,6 +615,10 @@ class HumanObjectPeerTestInstance { Result_NoneAPIErrorZ cc_res = peer1.chan_manager.create_channel(peer2.node_id, 10000, 1000, 42, null); assert cc_res instanceof Result_NoneAPIErrorZ.Result_NoneAPIErrorZ_OK; + // Previously, this was a SEGFAULT instead of get_funding_txo() returning null. + ChannelDetails pre_funding_chan = peer1.chan_manager.list_channels()[0]; + assert pre_funding_chan.get_funding_txo() == null; + Event[] events = peer1.get_manager_events(1, peer1, peer2); assert events[0] instanceof Event.FundingGenerationReady; assert ((Event.FundingGenerationReady) events[0]).channel_value_satoshis == 10000; @@ -758,7 +762,8 @@ class HumanObjectPeerTestInstance { events = state.peer2.get_manager_events(1, state.peer1, state.peer2); assert events[0] instanceof Event.PaymentReceived; - byte[] payment_preimage = ((Event.PaymentReceived)events[0]).payment_preimage; + assert ((Event.PaymentReceived)events[0]).purpose instanceof PaymentPurpose.InvoicePayment; + byte[] payment_preimage = ((PaymentPurpose.InvoicePayment)((Event.PaymentReceived)events[0]).purpose).payment_preimage; assert !Arrays.equals(payment_preimage, new byte[32]); state.peer2.chan_manager.claim_funds(payment_preimage); diff --git a/src/test/java/org/ldk/PeerTest.java b/src/test/java/org/ldk/PeerTest.java index a05c899f..de96a8bf 100644 --- a/src/test/java/org/ldk/PeerTest.java +++ b/src/test/java/org/ldk/PeerTest.java @@ -302,7 +302,9 @@ public class PeerTest { assert events.size() == 1; bindings.LDKEvent payment_recvd = bindings.LDKEvent_ref_from_ptr(events.get(0)); assert payment_recvd instanceof bindings.LDKEvent.PaymentReceived; - assert bindings.ChannelManager_claim_funds(peer2.chan_manager, ((bindings.LDKEvent.PaymentReceived) payment_recvd).payment_preimage); + bindings.LDKPaymentPurpose purpose = bindings.LDKPaymentPurpose_ref_from_ptr(((bindings.LDKEvent.PaymentReceived) payment_recvd).purpose); + assert purpose instanceof bindings.LDKPaymentPurpose.InvoicePayment; + assert bindings.ChannelManager_claim_funds(peer2.chan_manager, ((bindings.LDKPaymentPurpose.InvoicePayment) purpose).payment_preimage); bindings.Event_free(events.remove(0)); deliver_peer_messages(list, peer1.peer_manager, peer2.peer_manager); -- 2.30.2