Search in sources :

Example 6 with MirrorTransaction

use of com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction in project hedera-mirror-node by hashgraph.

the class AccountFeature method verifyMirrorAPICryptoTransferResponse.

@Then("the mirror node REST API should return status {int} for the crypto transfer transaction")
public void verifyMirrorAPICryptoTransferResponse(int status) {
    log.info("Verify transaction");
    String transactionId = networkTransactionResponse.getTransactionIdStringNoCheckSum();
    MirrorTransactionsResponse mirrorTransactionsResponse = mirrorClient.getTransactions(transactionId);
    // verify valid set of transactions
    List<MirrorTransaction> transactions = mirrorTransactionsResponse.getTransactions();
    assertNotNull(transactions);
    assertThat(transactions).isNotEmpty();
    // verify transaction details
    MirrorTransaction mirrorTransaction = transactions.get(0);
    if (status == HttpStatus.OK.value()) {
        assertThat(mirrorTransaction.getResult()).isEqualTo("SUCCESS");
    }
    assertThat(mirrorTransaction.getTransactionId()).isEqualTo(transactionId);
    assertThat(mirrorTransaction.getValidStartTimestamp()).isEqualTo(networkTransactionResponse.getValidStartString());
    assertThat(mirrorTransaction.getName()).isEqualTo("CRYPTOTRANSFER");
    // network, node and transfer
    assertThat(mirrorTransaction.getTransfers().size()).isGreaterThanOrEqualTo(3);
    // verify transfer credit and debits balance out
    long transferSum = 0;
    for (MirrorTransfer cryptoTransfer : mirrorTransaction.getTransfers()) {
        transferSum += Long.valueOf(cryptoTransfer.getAmount());
    }
    assertThat(transferSum).isZero();
}
Also used : MirrorTransfer(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransfer) MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction) MirrorTransactionsResponse(com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse) Then(io.cucumber.java.en.Then)

Example 7 with MirrorTransaction

use of com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction in project hedera-mirror-node by hashgraph.

the class FileFeature method verifyMirrorTransactionsResponse.

private MirrorTransaction verifyMirrorTransactionsResponse(MirrorTransactionsResponse mirrorTransactionsResponse, int status) {
    List<MirrorTransaction> transactions = mirrorTransactionsResponse.getTransactions();
    assertNotNull(transactions);
    assertThat(transactions).isNotEmpty();
    MirrorTransaction mirrorTransaction = transactions.get(0);
    if (status == HttpStatus.OK.value()) {
        assertThat(mirrorTransaction.getResult()).isEqualTo("SUCCESS");
    }
    assertThat(mirrorTransaction.getValidStartTimestamp()).isNotNull();
    assertThat(mirrorTransaction.getName()).isNotNull();
    assertThat(mirrorTransaction.getResult()).isNotNull();
    assertThat(mirrorTransaction.getConsensusTimestamp()).isNotNull();
    assertThat(mirrorTransaction.getEntityId()).isEqualTo(fileId.toString());
    return mirrorTransaction;
}
Also used : MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction)

Example 8 with MirrorTransaction

use of com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction in project hedera-mirror-node by hashgraph.

the class ScheduleFeature method verifyScheduledTransaction.

private void verifyScheduledTransaction(String timestamp) {
    log.info("Verify scheduled transaction {}", timestamp);
    MirrorTransactionsResponse mirrorTransactionsResponse = mirrorClient.getTransactionInfoByTimestamp(timestamp);
    MirrorTransaction mirrorTransaction = verifyMirrorTransactionsResponse(mirrorTransactionsResponse, HttpStatus.OK.value(), false);
    assertThat(mirrorTransaction.getConsensusTimestamp()).isEqualTo(timestamp);
    assertThat(mirrorTransaction.isScheduled()).isTrue();
}
Also used : MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction) MirrorTransactionsResponse(com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse)

Example 9 with MirrorTransaction

use of com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction in project hedera-mirror-node by hashgraph.

the class ScheduleFeature method verifyMirrorTransactionsResponse.

private MirrorTransaction verifyMirrorTransactionsResponse(MirrorTransactionsResponse mirrorTransactionsResponse, int status, boolean verifyEntityId) {
    List<MirrorTransaction> transactions = mirrorTransactionsResponse.getTransactions();
    assertNotNull(transactions);
    assertThat(transactions).isNotEmpty();
    MirrorTransaction mirrorTransaction = transactions.get(0);
    if (status == HttpStatus.OK.value()) {
        assertThat(mirrorTransaction.getResult()).isEqualTo("SUCCESS");
    }
    assertThat(mirrorTransaction.getValidStartTimestamp()).isNotNull();
    assertThat(mirrorTransaction.getName()).isNotNull();
    assertThat(mirrorTransaction.getResult()).isNotNull();
    assertThat(mirrorTransaction.getConsensusTimestamp()).isNotNull();
    if (verifyEntityId) {
        assertThat(mirrorTransaction.getEntityId()).isEqualTo(scheduleId.toString());
    }
    return mirrorTransaction;
}
Also used : MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction)

Example 10 with MirrorTransaction

use of com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction in project hedera-mirror-node by hashgraph.

the class TokenFeature method verifyNftTransfers.

private void verifyNftTransfers(TokenId tokenId, Long serialNumber) {
    String transactionId = networkTransactionResponse.getTransactionIdStringNoCheckSum();
    MirrorTransactionsResponse mirrorTransactionsResponse = mirrorClient.getTransactions(transactionId);
    List<MirrorTransaction> transactions = mirrorTransactionsResponse.getTransactions();
    assertNotNull(transactions);
    assertThat(transactions).isNotEmpty();
    MirrorTransaction mirrorTransaction = transactions.get(0);
    assertThat(mirrorTransaction.getTransactionId()).isEqualTo(transactionId);
    assertThat(mirrorTransaction.getValidStartTimestamp()).isEqualTo(networkTransactionResponse.getValidStartString());
    assertThat(mirrorTransaction.getNftTransfers()).filteredOn(transfer -> tokenId.toString().equals(transfer.getTokenId())).map(MirrorNftTransfer::getSerialNumber).containsExactly(serialNumber);
}
Also used : MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction) MirrorTransactionsResponse(com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse)

Aggregations

MirrorTransaction (com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction)13 MirrorTransactionsResponse (com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse)9 Then (io.cucumber.java.en.Then)6 Retryable (org.springframework.retry.annotation.Retryable)2 TokenId (com.hedera.hashgraph.sdk.TokenId)1 MirrorTokenTransfer (com.hedera.mirror.test.e2e.acceptance.props.MirrorTokenTransfer)1 MirrorTransfer (com.hedera.mirror.test.e2e.acceptance.props.MirrorTransfer)1