diff --git a/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/AbstractIT.java b/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/AbstractIT.java index 261e938de..8ccb98450 100644 --- a/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/AbstractIT.java +++ b/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/AbstractIT.java @@ -543,6 +543,10 @@ public void sendIssuedCurrency( Payment.class) ); + this.scanForResult( + () -> getValidatedAccountInfo(issuerAddress), + result -> result.accountData().sequence().equals(issuerAccountInfo.accountData().sequence().plus(UnsignedInteger.ONE)) + ); } ////////////////// diff --git a/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/NfTokenIT.java b/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/NfTokenIT.java index 5204f08f8..5a3c91f4e 100644 --- a/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/NfTokenIT.java +++ b/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/NfTokenIT.java @@ -491,8 +491,27 @@ void mintAndCreateThenAcceptOffer() throws JsonRpcClientErrorException, JsonProc ); logger.info("NFT Accept Offer transaction was validated successfully."); - assertThat(xrplClient.accountNfts(keypair.publicKey().deriveAddress()).accountNfts().size()).isEqualTo(0); - assertThat(xrplClient.accountNfts(wallet2.publicKey().deriveAddress()).accountNfts().size()).isEqualTo(1); + this.scanForResult( + () -> { + try { + return xrplClient.accountNfts(keypair.publicKey().deriveAddress()).accountNfts().size(); + } catch (JsonRpcClientErrorException e) { + throw new RuntimeException(e); + } + }, + size -> size == 0 + ); + + this.scanForResult( + () -> { + try { + return xrplClient.accountNfts(wallet2.publicKey().deriveAddress()).accountNfts().size(); + } catch (JsonRpcClientErrorException e) { + throw new RuntimeException(e); + } + }, + size -> size == 1 + ); logger.info("The NFT ownership was transferred."); } diff --git a/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/SubmitPaymentIT.java b/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/SubmitPaymentIT.java index 5ee2a97bf..893e54dae 100644 --- a/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/SubmitPaymentIT.java +++ b/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/SubmitPaymentIT.java @@ -114,10 +114,19 @@ public void sendPaymentFromSecp256k1KeyPair() throws JsonRpcClientErrorException private void assertPaymentCloseTimeMatchesLedgerCloseTime(TransactionResult validatedPayment) throws JsonRpcClientErrorException { - LedgerResult ledger = xrplClient.ledger( - LedgerRequestParams.builder() - .ledgerSpecifier(LedgerSpecifier.of(validatedPayment.ledgerIndex().get())) - .build() + + LedgerResult ledger = this.scanForResult( + () -> { + try { + return xrplClient.ledger( + LedgerRequestParams.builder() + .ledgerSpecifier(LedgerSpecifier.of(validatedPayment.ledgerIndex().get())) + .build() + ); + } catch (JsonRpcClientErrorException e) { + throw new RuntimeException(e); + } + } ); assertThat(validatedPayment.closeDateHuman()).isNotEmpty(); diff --git a/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/TicketIT.java b/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/TicketIT.java index d4531f336..f156c841c 100644 --- a/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/TicketIT.java +++ b/xrpl4j-integration-tests/src/test/java/org/xrpl/xrpl4j/tests/TicketIT.java @@ -45,6 +45,7 @@ import org.xrpl.xrpl4j.model.transactions.metadata.MetaLedgerEntryType; import java.util.List; +import java.util.Optional; public class TicketIT extends AbstractIT { @@ -91,8 +92,11 @@ void createTicketAndUseSequenceNumber() throws JsonRpcClientErrorException, Json .map(AffectedNode::ledgerIndex) .get(); - AccountInfoResult accountInfoAfterTicketCreate = getValidatedAccountInfo(sourceKeyPair.publicKey().deriveAddress()); - assertThat(accountInfoAfterTicketCreate.accountData().ticketCount()).isNotEmpty().get() + Optional ticketCount = this.scanForResult( + () -> getValidatedAccountInfo(sourceKeyPair.publicKey().deriveAddress()), + result -> result.accountData().ticketCount().isPresent() + ).accountData().ticketCount(); + assertThat(ticketCount).isNotEmpty().get() .isEqualTo(ticketCreate.ticketCount()); List tickets = getValidatedAccountObjects(