@@ -125,6 +125,14 @@ class TransactionQueueTest
125
125
REQUIRE (size - toRemove.size () >=
126
126
mTransactionQueue .getTransactions ({}).size ());
127
127
}
128
+
129
+ // Everything that got removed should have age=0
130
+ for (auto const & tx : toRemove)
131
+ {
132
+ auto txInfo = mTransactionQueue .getAccountTransactionQueueInfo (
133
+ tx->getSourceID ());
134
+ REQUIRE (txInfo.mAge == 0 );
135
+ }
128
136
}
129
137
130
138
void
@@ -201,11 +209,16 @@ class TransactionQueueTest
201
209
accountState.mAccountID );
202
210
REQUIRE (accountTransactionQueueInfo.mTotalFees ==
203
211
expectedFees[accountState.mAccountID ]);
204
- REQUIRE (accountTransactionQueueInfo.mMaxSeq == seqNum);
212
+ auto queueSeqNum =
213
+ accountTransactionQueueInfo.mTransaction
214
+ ? accountTransactionQueueInfo.mTransaction ->mTx ->getSeqNum ()
215
+ : 0 ;
216
+ totOps += accountTransactionQueueInfo.mTransaction
217
+ ? accountTransactionQueueInfo.mTransaction ->mTx
218
+ ->getNumOperations ()
219
+ : 0 ;
220
+ REQUIRE (queueSeqNum == seqNum);
205
221
REQUIRE (accountTransactionQueueInfo.mAge == accountState.mAge );
206
- REQUIRE (accountTransactionQueueInfo.mBroadcastQueueOps ==
207
- accountTransactionQueueInfo.mQueueSizeOps );
208
- totOps += accountTransactionQueueInfo.mQueueSizeOps ;
209
222
210
223
expectedTxs.insert (expectedTxs.end (),
211
224
accountState.mAccountTransactions .begin (),
@@ -543,19 +556,21 @@ testTransactionQueueBasicScenarios()
543
556
test.add (txSeqA1T1, TransactionQueue::AddResult::ADD_STATUS_DUPLICATE);
544
557
test.check (state);
545
558
546
- auto status = TransactionQueue::AddResult::ADD_STATUS_TRY_AGAIN_LATER;
547
- test. add (txSeqA1T2, status );
559
+ test. add (txSeqA1T2,
560
+ TransactionQueue::AddResult::ADD_STATUS_TRY_AGAIN_LATER );
548
561
test.check (state);
549
562
550
- // Regardless of seqnum validity, tx is rejected due to limit
563
+ // Tx is rejected due to limit or bad seqnum
551
564
// too low
552
- test.add (txSeqA1T0, status );
565
+ test.add (txSeqA1T0, TransactionQueue::AddResult::ADD_STATUS_ERROR );
553
566
test.check (state);
554
567
// too high
555
- test.add (txSeqA1T4, status);
568
+ test.add (txSeqA1T4,
569
+ TransactionQueue::AddResult::ADD_STATUS_TRY_AGAIN_LATER);
556
570
test.check (state);
557
571
// just right
558
- test.add (txSeqA1T3, status);
572
+ test.add (txSeqA1T3,
573
+ TransactionQueue::AddResult::ADD_STATUS_TRY_AGAIN_LATER);
559
574
test.check (state);
560
575
}
561
576
@@ -990,14 +1005,12 @@ TEST_CASE_VERSIONS("TransactionQueue with PreconditionsV2",
990
1005
test.add (txSeqA1S5MinSeqNum,
991
1006
TransactionQueue::AddResult::ADD_STATUS_DUPLICATE);
992
1007
993
- // try fill gap (invalid behavior), but account limit kicks in first
994
1008
// try to fill in gap with a tx
995
- test.add (txSeqA1S2,
996
- TransactionQueue::AddResult::ADD_STATUS_TRY_AGAIN_LATER);
1009
+ test.add (txSeqA1S2, TransactionQueue::AddResult::ADD_STATUS_ERROR);
997
1010
998
1011
// try to fill in gap with a minSeqNum tx
999
1012
test.add (txSeqA1S4MinSeqNum,
1000
- TransactionQueue::AddResult::ADD_STATUS_TRY_AGAIN_LATER );
1013
+ TransactionQueue::AddResult::ADD_STATUS_ERROR );
1001
1014
1002
1015
test.check ({{{account1, 0 , {txSeqA1S5MinSeqNum}}, {account2}}, {}});
1003
1016
0 commit comments