diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/assertions/NonFungibleTransfers.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/assertions/NonFungibleTransfers.java index e0788ecd94a9..a1c37465f318 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/assertions/NonFungibleTransfers.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/spec/assertions/NonFungibleTransfers.java @@ -18,6 +18,7 @@ import static com.hedera.services.bdd.spec.HapiPropertySource.asAccountString; import static com.hedera.services.bdd.spec.HapiPropertySource.asTokenString; +import static com.hedera.services.bdd.spec.transactions.TxnUtils.asId; import com.hedera.services.bdd.spec.HapiSpec; import com.hederahashgraph.api.proto.java.AccountID; @@ -57,7 +58,7 @@ public ErroringAsserts> assertsFor(HapiSpec spec) { final var sender = change.getLeft(); accountNameLookup.put(registry.getAccountID(sender), sender); final var receiver = change.getMiddle(); - accountNameLookup.put(registry.getAccountID(receiver), receiver); + accountNameLookup.put(asId(receiver, spec), receiver); } } diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableHip423Tests.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableHip423Tests.java index fb63b6cfce02..278149ea1a33 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableHip423Tests.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableHip423Tests.java @@ -119,7 +119,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.TestMethodOrder; -@Order(2) +@Order(3) @Tag(INTEGRATION) @HapiTestLifecycle @TargetEmbeddedMode(REPEATABLE) diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableIntegrationTests.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableIntegrationTests.java new file mode 100644 index 000000000000..407a0438c5a2 --- /dev/null +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableIntegrationTests.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2024 Hedera Hashgraph, LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.hedera.services.bdd.suites.integration; + +import static com.hedera.services.bdd.junit.RepeatableReason.NEEDS_VIRTUAL_TIME_FOR_FAST_EXECUTION; +import static com.hedera.services.bdd.junit.TestTags.INTEGRATION; +import static com.hedera.services.bdd.junit.hedera.embedded.EmbeddedMode.REPEATABLE; +import static com.hedera.services.bdd.spec.HapiSpec.hapiTest; +import static com.hedera.services.bdd.spec.assertions.NonFungibleTransfers.changingNFTBalances; +import static com.hedera.services.bdd.spec.assertions.TransactionRecordAsserts.recordWith; +import static com.hedera.services.bdd.spec.queries.QueryVerbs.getTxnRecord; +import static com.hedera.services.bdd.spec.transactions.TxnVerbs.burnToken; +import static com.hedera.services.bdd.spec.utilops.UtilVerbs.doWithStartupConfig; +import static com.hedera.services.bdd.spec.utilops.UtilVerbs.waitUntilStartOfNextStakingPeriod; + +import com.hedera.services.bdd.junit.RepeatableHapiTest; +import com.hedera.services.bdd.junit.TargetEmbeddedMode; +import com.hedera.services.bdd.spec.dsl.annotations.NonFungibleToken; +import com.hedera.services.bdd.spec.dsl.entities.SpecNonFungibleToken; +import java.util.List; +import java.util.stream.Stream; +import org.junit.jupiter.api.DynamicTest; +import org.junit.jupiter.api.Order; +import org.junit.jupiter.api.Tag; + +@Order(1) +@Tag(INTEGRATION) +@TargetEmbeddedMode(REPEATABLE) +public class RepeatableIntegrationTests { + @RepeatableHapiTest(NEEDS_VIRTUAL_TIME_FOR_FAST_EXECUTION) + Stream burnAtStakePeriodBoundaryHasExpectedRecord( + @NonFungibleToken(numPreMints = 2) SpecNonFungibleToken nft) { + return hapiTest( + nft.getInfo(), + doWithStartupConfig( + "staking.periodMins", value -> waitUntilStartOfNextStakingPeriod(Long.parseLong(value))), + burnToken(nft.name(), List.of(1L)).via("burn"), + getTxnRecord("burn") + .hasPriority(recordWith() + .tokenTransfers(changingNFTBalances() + .including(nft.name(), nft.treasury().name(), "0.0.0", 1L)))); + } +} diff --git a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableTssTests.java b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableTssTests.java index 2f4d5aa82a74..1166f8990544 100644 --- a/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableTssTests.java +++ b/hedera-node/test-clients/src/main/java/com/hedera/services/bdd/suites/integration/RepeatableTssTests.java @@ -55,7 +55,7 @@ import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Tag; -@Order(1) +@Order(2) @Tag(INTEGRATION) @TargetEmbeddedMode(REPEATABLE) public class RepeatableTssTests {