Search in sources :

Example 1 with MirrorTransactionsResponse

use of com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse in project hedera-mirror-node by hashgraph.

the class AbstractFeature method verifyMirrorTransactionsResponse.

protected MirrorTransaction verifyMirrorTransactionsResponse(MirrorNodeClient mirrorClient, int status) {
    String transactionId = networkTransactionResponse.getTransactionIdStringNoCheckSum();
    MirrorTransactionsResponse mirrorTransactionsResponse = mirrorClient.getTransactions(transactionId);
    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.getValidStartTimestamp()).isEqualTo(networkTransactionResponse.getValidStartString());
    assertThat(mirrorTransaction.getTransactionId()).isEqualTo(transactionId);
    return mirrorTransaction;
}
Also used : MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction) MirrorTransactionsResponse(com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse)

Example 2 with MirrorTransactionsResponse

use of com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse in project hedera-mirror-node by hashgraph.

the class FileFeature method verifyMirrorAPIResponses.

@Then("the mirror node REST API should return status {int} for the file transaction")
public void verifyMirrorAPIResponses(int status) {
    log.info("Verify file transaction");
    String transactionId = networkTransactionResponse.getTransactionIdStringNoCheckSum();
    MirrorTransactionsResponse mirrorTransactionsResponse = mirrorClient.getTransactions(transactionId);
    MirrorTransaction mirrorTransaction = verifyMirrorTransactionsResponse(mirrorTransactionsResponse, status);
    assertThat(mirrorTransaction.getValidStartTimestamp()).isEqualTo(networkTransactionResponse.getValidStartString());
    assertThat(mirrorTransaction.getTransactionId()).isEqualTo(transactionId);
}
Also used : 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 3 with MirrorTransactionsResponse

use of com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse in project hedera-mirror-node by hashgraph.

the class ScheduleFeature method verifyMirrorAPIResponses.

@Then("the mirror node REST API should return status {int} for the schedule transaction")
public void verifyMirrorAPIResponses(int status) {
    log.info("Verify schedule transaction");
    String transactionId = networkTransactionResponse.getTransactionIdStringNoCheckSum();
    MirrorTransactionsResponse mirrorTransactionsResponse = mirrorClient.getTransactions(transactionId);
    MirrorTransaction mirrorTransaction = verifyMirrorTransactionsResponse(mirrorTransactionsResponse, status, true);
    assertThat(mirrorTransaction.getValidStartTimestamp()).isEqualTo(networkTransactionResponse.getValidStartString());
    assertThat(mirrorTransaction.getTransactionId()).isEqualTo(transactionId);
}
Also used : 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 4 with MirrorTransactionsResponse

use of com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse in project hedera-mirror-node by hashgraph.

the class TokenFeature method verifyTransactions.

private MirrorTransaction verifyTransactions(int status, List<MirrorAssessedCustomFee> assessedCustomFees) {
    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.getAssessedCustomFees()).containsExactlyInAnyOrderElementsOf(assessedCustomFees);
    if (status == HttpStatus.OK.value()) {
        assertThat(mirrorTransaction.getResult()).isEqualTo("SUCCESS");
    }
    return mirrorTransaction;
}
Also used : MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction) MirrorTransactionsResponse(com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse)

Example 5 with MirrorTransactionsResponse

use of com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse 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)

Aggregations

MirrorTransaction (com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction)9 MirrorTransactionsResponse (com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse)9 Then (io.cucumber.java.en.Then)4 MirrorTokenTransfer (com.hedera.mirror.test.e2e.acceptance.props.MirrorTokenTransfer)1 MirrorTransfer (com.hedera.mirror.test.e2e.acceptance.props.MirrorTransfer)1 Retryable (org.springframework.retry.annotation.Retryable)1