Search in sources :

Example 11 with MirrorTransaction

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

the class TokenFeature method verifyMirrorRestTransactionIsPresent.

@Then("the mirror node REST API should return status {int} for transaction {string}")
@Retryable(value = { AssertionError.class }, backoff = @Backoff(delayExpression = "#{@restPollingProperties.minBackoff.toMillis()}"), maxAttemptsExpression = "#{@restPollingProperties.maxAttempts}")
public void verifyMirrorRestTransactionIsPresent(int status, String transactionIdString) {
    MirrorTransactionsResponse mirrorTransactionsResponse = mirrorClient.getTransactions(transactionIdString);
    List<MirrorTransaction> transactions = mirrorTransactionsResponse.getTransactions();
    assertNotNull(transactions);
    assertThat(transactions).isNotEmpty();
    MirrorTransaction mirrorTransaction = transactions.get(0);
    assertThat(mirrorTransaction.getTransactionId()).isEqualTo(transactionIdString);
    if (status == HttpStatus.OK.value()) {
        assertThat(mirrorTransaction.getResult()).isEqualTo("SUCCESS");
    }
    // publish background message to network to reduce possibility of stale info in low TPS environment
    topicClient.publishMessageToDefaultTopic();
}
Also used : MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction) MirrorTransactionsResponse(com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse) Retryable(org.springframework.retry.annotation.Retryable) Then(io.cucumber.java.en.Then)

Example 12 with MirrorTransaction

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

the class TokenFeature method verifyTokenTransfers.

private void verifyTokenTransfers(TokenId tokenId) {
    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.getName()).isEqualTo("CRYPTOTRANSFER");
    boolean tokenIdFound = false;
    String tokenIdString = tokenId.toString();
    for (MirrorTokenTransfer tokenTransfer : mirrorTransaction.getTokenTransfers()) {
        if (tokenTransfer.getTokenId().equalsIgnoreCase(tokenIdString)) {
            tokenIdFound = true;
            break;
        }
    }
    assertTrue(tokenIdFound);
}
Also used : MirrorTokenTransfer(com.hedera.mirror.test.e2e.acceptance.props.MirrorTokenTransfer) MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction) MirrorTransactionsResponse(com.hedera.mirror.test.e2e.acceptance.response.MirrorTransactionsResponse)

Example 13 with MirrorTransaction

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

the class TokenFeature method verifyMirrorTokenWithCustomFeesSchedule.

@Then("the mirror node REST API should confirm token {int} with custom fees schedule")
@Retryable(value = { AssertionError.class }, backoff = @Backoff(delayExpression = "#{@restPollingProperties.minBackoff.toMillis()}"), maxAttemptsExpression = "#{@restPollingProperties.maxAttempts}")
public void verifyMirrorTokenWithCustomFeesSchedule(Integer tokenIndex) {
    MirrorTransaction transaction = verifyTransactions(200);
    TokenId tokenId = tokenIds.get(getIndexOrDefault(tokenIndex));
    verifyTokenWithCustomFeesSchedule(tokenId, transaction.getConsensusTimestamp());
}
Also used : MirrorTransaction(com.hedera.mirror.test.e2e.acceptance.props.MirrorTransaction) TokenId(com.hedera.hashgraph.sdk.TokenId) Retryable(org.springframework.retry.annotation.Retryable) Then(io.cucumber.java.en.Then)

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