Skip to content

Commit de21ec3

Browse files
committed
Fix 117 unit tests.
1 parent 70bcbf2 commit de21ec3

File tree

1 file changed

+40
-30
lines changed

1 file changed

+40
-30
lines changed

ci/LDKSwift/Tests/LDKSwiftTests/HumanObjectPeerTestInstance.swift

+40-30
Original file line numberDiff line numberDiff line change
@@ -235,16 +235,16 @@ public class HumanObjectPeerTestInstance {
235235
await master.pendingEventTracker.addEvent(event: event)
236236
}
237237
}
238-
238+
239239
override func persistScorer(scorer: Bindings.WriteableScore) -> Bindings.Result_NoneIOErrorZ {
240240
.initWithOk()
241241
}
242-
242+
243243
override func persistGraph(networkGraph: Bindings.NetworkGraph) -> Bindings.Result_NoneIOErrorZ {
244244
let writtenGraph = networkGraph.write();
245245
return .initWithOk()
246246
}
247-
247+
248248
override func persistManager(channelManager: Bindings.ChannelManager) -> Bindings.Result_NoneIOErrorZ {
249249
.initWithOk()
250250
}
@@ -403,11 +403,12 @@ public class HumanObjectPeerTestInstance {
403403
}
404404

405405
fileprivate func getManagerEvents(expectedCount: UInt) async throws -> [Event] {
406+
print("Awaiting \(expectedCount) manager events…")
406407
while true {
407408
if await self.pendingEventTracker.getCount() >= expectedCount {
408-
print("Found enough events for expected count of \(expectedCount)")
409+
print("Found enough manager events for expected count of \(expectedCount)")
409410
let events = await self.pendingEventTracker.getAndClearEvents()
410-
print("Found event count: \(events.count)")
411+
print("Found manager event count: \(events.count)")
411412
return events
412413
}
413414
// sleep for 0.1 seconds
@@ -557,6 +558,9 @@ public class HumanObjectPeerTestInstance {
557558
XCTAssertNil(fundingTxo)
558559
}
559560

561+
let channelsA = peer1.channelManager.listChannels()
562+
XCTAssertEqual(channelsA.count, 1)
563+
560564
let managerEvents = try! await peer1.getManagerEvents(expectedCount: 1)
561565
XCTAssertEqual(managerEvents.count, 1)
562566

@@ -607,11 +611,13 @@ public class HumanObjectPeerTestInstance {
607611
fundingBlock.nonce = 0
608612
fundingBlock.transactions = [fundingTransaction]
609613

614+
print("Connecting funding block…")
610615
peer1.connectBlock(block: fundingBlock, height: 1, expectedMonitorUpdateLength: 0)
611616
peer2.connectBlock(block: fundingBlock, height: 1, expectedMonitorUpdateLength: 0)
612617

618+
print("Connecting confirmation blocks…")
613619
var previousBlock = fundingBlock
614-
for height in 2..<10 {
620+
for height in 2..<101 {
615621
let currentBlock = BTCBlock()
616622
currentBlock.version = 2
617623
currentBlock.previousBlockHash = previousBlock.calculateHash()
@@ -625,28 +631,32 @@ public class HumanObjectPeerTestInstance {
625631
previousBlock = currentBlock
626632
}
627633

634+
let peer1Events = try! await peer1.getManagerEvents(expectedCount: 2)
635+
let peer1ReadyEvent = peer1Events[1]
636+
guard case .ChannelReady = peer1ReadyEvent.getValueType() else {
637+
return XCTAssert(false, "Expected .ChannelReady, got \(peer1ReadyEvent.getValueType())")
638+
}
639+
640+
let peer2Events = try! await peer2.getManagerEvents(expectedCount: 2)
641+
let peer2ReadyEvent = peer2Events[1]
642+
guard case .ChannelReady = peer2ReadyEvent.getValueType() else {
643+
return XCTAssert(false, "Expected .ChannelReady, got \(peer2ReadyEvent.getValueType())")
644+
}
645+
628646
var usableChannelsA = [ChannelDetails]()
629647
var usableChannelsB = [ChannelDetails]()
648+
print("Awaiting usable channels to populate…")
630649
while (usableChannelsA.isEmpty || usableChannelsB.isEmpty) {
631650
usableChannelsA = peer1.channelManager.listUsableChannels()
632651
usableChannelsB = peer2.channelManager.listUsableChannels()
633652
// sleep for 100ms
634653
try! await Task.sleep(nanoseconds: 0_100_000_000)
635654
}
655+
print("Usable channels have been populated")
636656

637657
XCTAssertEqual(usableChannelsA.count, 1)
638658
XCTAssertEqual(usableChannelsB.count, 1)
639659

640-
let peer1Event = try! await peer1.getManagerEvents(expectedCount: 2)[1]
641-
guard case .ChannelReady = peer1Event.getValueType() else {
642-
return XCTAssert(false, "Expected .ChannelReady, got \(peer1Event.getValueType())")
643-
}
644-
645-
let peer2Event = try! await peer2.getManagerEvents(expectedCount: 2)[1]
646-
guard case .ChannelReady = peer2Event.getValueType() else {
647-
return XCTAssert(false, "Expected .ChannelReady, got \(peer2Event.getValueType())")
648-
}
649-
650660
let channelAToB = usableChannelsA[0]
651661
let channelBToA = usableChannelsB[0]
652662
XCTAssertEqual(channelAToB.getChannelValueSatoshis(), FUNDING_SATOSHI_AMOUNT)
@@ -656,8 +666,8 @@ public class HumanObjectPeerTestInstance {
656666
XCTAssertEqual(usableChannelsA[0].getChannelId(), fundingTxId)
657667
XCTAssertEqual(usableChannelsB[0].getChannelId(), fundingTxId)
658668

659-
let originalChannelBalanceAToB = channelAToB.getOutboundCapacityMsat()
660-
let originalChannelBalanceBToA = channelBToA.getOutboundCapacityMsat()
669+
let originalChannelBalanceAToB = channelAToB.getBalanceMsat()
670+
let originalChannelBalanceBToA = channelBToA.getBalanceMsat()
661671
print("original balance A->B mSats: \(originalChannelBalanceAToB)")
662672
print("original balance B->A mSats: \(originalChannelBalanceBToA)")
663673

@@ -676,24 +686,24 @@ public class HumanObjectPeerTestInstance {
676686

677687
let recreatedInvoice = Bolt11Invoice.fromStr(s: invoice.toStr())
678688
XCTAssertTrue(recreatedInvoice.isOk())
679-
689+
680690
// find route
681-
691+
682692
do {
683693
let payerPubkey = peer1.channelManager.getOurNodeId()
684694
let payeePubkey = peer2.channelManager.getOurNodeId()
685695
let paymentParameters = PaymentParameters.initForKeysend(payeePubkey: payeePubkey, finalCltvExpiryDelta: 3, allowMpp: false)
686-
696+
687697
let amount = invoice.amountMilliSatoshis()!
688698
let routeParameters = RouteParameters(paymentParamsArg: paymentParameters, finalValueMsatArg: amount, maxTotalRoutingFeeMsatArg: nil)
689699
let randomSeedBytes: [UInt8] = [UInt8](repeating: 0, count: 32)
690700
let scoringParams = ProbabilisticScoringDecayParameters.initWithDefault()
691701
let networkGraph = peer1.constructor!.netGraph!
692702
let scorer = ProbabilisticScorer(decayParams: scoringParams, networkGraph: networkGraph, logger: logger)
693703
let score = scorer.asScoreLookUp()
694-
704+
695705
let scoreParams = ProbabilisticScoringFeeParameters.initWithDefault()
696-
706+
697707
let foundRoute = Bindings.findRoute(
698708
ourNodePubkey: payerPubkey,
699709
routeParams: routeParameters,
@@ -704,7 +714,7 @@ public class HumanObjectPeerTestInstance {
704714
scoreParams: scoreParams,
705715
randomSeedBytes: randomSeedBytes
706716
)
707-
717+
708718
let route = foundRoute.getValue()!
709719
let fees = route.getTotalFees()
710720
print("found route fees: \(fees)")
@@ -798,8 +808,8 @@ public class HumanObjectPeerTestInstance {
798808
while true {
799809
let channelA = peer1.channelManager.listUsableChannels()[0]
800810
let channelB = peer2.channelManager.listUsableChannels()[0]
801-
currentChannelABalance = channelA.getOutboundCapacityMsat()
802-
currentChannelBBalance = channelB.getOutboundCapacityMsat()
811+
currentChannelABalance = channelA.getBalanceMsat()
812+
currentChannelBBalance = channelB.getBalanceMsat()
803813
if currentChannelABalance != originalChannelBalanceAToB && currentChannelBBalance != originalChannelBalanceBToA {
804814
break
805815
}
@@ -815,8 +825,8 @@ public class HumanObjectPeerTestInstance {
815825
do {
816826
// send some money back
817827
// create invoice for 10k satoshis to pay to peer2
818-
let prePaymentBalanceAToB = peer1.channelManager.listUsableChannels()[0].getOutboundCapacityMsat()
819-
let prePaymentBalanceBToA = peer2.channelManager.listUsableChannels()[0].getOutboundCapacityMsat()
828+
let prePaymentBalanceAToB = peer1.channelManager.listUsableChannels()[0].getBalanceMsat()
829+
let prePaymentBalanceBToA = peer2.channelManager.listUsableChannels()[0].getBalanceMsat()
820830
print("pre-payment balance A->B mSats: \(prePaymentBalanceAToB)")
821831
print("pre-payment balance B->A mSats: \(prePaymentBalanceBToA)")
822832

@@ -896,8 +906,8 @@ public class HumanObjectPeerTestInstance {
896906
while true {
897907
let channelA = peer1.channelManager.listUsableChannels()[0]
898908
let channelB = peer2.channelManager.listUsableChannels()[0]
899-
currentChannelABalance = channelA.getOutboundCapacityMsat()
900-
currentChannelBBalance = channelB.getOutboundCapacityMsat()
909+
currentChannelABalance = channelA.getBalanceMsat()
910+
currentChannelBBalance = channelB.getBalanceMsat()
901911
if currentChannelABalance != prePaymentBalanceAToB && currentChannelBBalance != prePaymentBalanceBToA {
902912
break
903913
}

0 commit comments

Comments
 (0)