From ad37c1ed5a6d68108d9d1346a4c7b369261b9b19 Mon Sep 17 00:00:00 2001 From: Marcos Date: Thu, 24 Oct 2024 19:25:02 -0300 Subject: [PATCH] Add util method createRepository --- .../src/test/java/co/rsk/RskTestUtils.java | 8 ++++ .../co/rsk/db/RepositoryImplOriginalTest.java | 27 +++++-------- .../java/co/rsk/db/RepositoryImplTest.java | 18 ++++----- .../rsk/peg/BridgeSupportReleaseBtcTest.java | 10 +---- .../RepositoryBtcBlockStoreWithCacheTest.java | 38 +++++++----------- .../rsk/remasc/RemascStorageProviderTest.java | 39 +++++++------------ .../ethereum/jsontestsuite/TestRunner.java | 8 +--- 7 files changed, 56 insertions(+), 92 deletions(-) diff --git a/rskj-core/src/test/java/co/rsk/RskTestUtils.java b/rskj-core/src/test/java/co/rsk/RskTestUtils.java index 9f6fb61d315..fa88c6b6c69 100644 --- a/rskj-core/src/test/java/co/rsk/RskTestUtils.java +++ b/rskj-core/src/test/java/co/rsk/RskTestUtils.java @@ -3,6 +3,9 @@ import static org.mockito.Mockito.mock; import co.rsk.crypto.Keccak256; +import co.rsk.db.MutableTrieCache; +import co.rsk.db.MutableTrieImpl; +import co.rsk.trie.Trie; import java.nio.charset.StandardCharsets; import java.time.Instant; import java.time.ZonedDateTime; @@ -12,6 +15,7 @@ import org.ethereum.core.*; import org.ethereum.crypto.ECKey; import org.ethereum.crypto.HashUtil; +import org.ethereum.db.MutableRepository; public class RskTestUtils { @@ -49,4 +53,8 @@ public static Block createRskBlock(long blockNumber, long blockTimestamp) { return Block.createBlockFromHeader(blockHeader, true); } + + public static Repository createRepository() { + return new MutableRepository(new MutableTrieCache(new MutableTrieImpl(null, new Trie()))); + } } diff --git a/rskj-core/src/test/java/co/rsk/db/RepositoryImplOriginalTest.java b/rskj-core/src/test/java/co/rsk/db/RepositoryImplOriginalTest.java index 39d9a0c42d1..a713848bbe0 100644 --- a/rskj-core/src/test/java/co/rsk/db/RepositoryImplOriginalTest.java +++ b/rskj-core/src/test/java/co/rsk/db/RepositoryImplOriginalTest.java @@ -19,12 +19,21 @@ package co.rsk.db; +import static co.rsk.RskTestUtils.createRepository; +import static org.ethereum.util.ByteUtil.EMPTY_BYTE_ARRAY; +import static org.hamcrest.Matchers.is; +import static org.junit.jupiter.api.Assertions.*; + import co.rsk.config.TestSystemProperties; import co.rsk.core.Coin; import co.rsk.core.RskAddress; import co.rsk.trie.Trie; import co.rsk.trie.TrieStore; import co.rsk.trie.TrieStoreImpl; +import java.math.BigInteger; +import java.util.Map; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; import org.bouncycastle.util.encoders.Hex; import org.ethereum.core.AccountState; import org.ethereum.core.Genesis; @@ -36,19 +45,7 @@ import org.ethereum.util.RskTestFactory; import org.ethereum.vm.DataWord; import org.hamcrest.MatcherAssert; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.TestMethodOrder; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.MethodOrderer; - -import java.math.BigInteger; -import java.util.Map; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import static org.ethereum.util.ByteUtil.EMPTY_BYTE_ARRAY; -import static org.hamcrest.Matchers.is; -import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.*; /** * @author Roman Mandeleil @@ -823,8 +820,4 @@ void testMultiThread() throws InterruptedException { throw new RuntimeException("Test failed."); } } - - private static Repository createRepository() { - return new MutableRepository(new MutableTrieImpl(null, new Trie())); - } } diff --git a/rskj-core/src/test/java/co/rsk/db/RepositoryImplTest.java b/rskj-core/src/test/java/co/rsk/db/RepositoryImplTest.java index 14c7fb1773a..90cb6eabff8 100644 --- a/rskj-core/src/test/java/co/rsk/db/RepositoryImplTest.java +++ b/rskj-core/src/test/java/co/rsk/db/RepositoryImplTest.java @@ -18,11 +18,17 @@ package co.rsk.db; +import static co.rsk.RskTestUtils.createRepository; +import static org.hamcrest.Matchers.is; + import co.rsk.core.Coin; import co.rsk.core.RskAddress; import co.rsk.crypto.Keccak256; import co.rsk.trie.Trie; import co.rsk.trie.TrieHashTest; +import java.math.BigInteger; +import java.util.Arrays; +import java.util.Set; import org.ethereum.TestUtils; import org.ethereum.core.AccountState; import org.ethereum.core.Repository; @@ -32,17 +38,11 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.math.BigInteger; -import java.util.Arrays; -import java.util.Set; - -import static org.hamcrest.Matchers.is; - /** * Created by ajlopez on 29/03/2017. */ class RepositoryImplTest { - private static Keccak256 emptyHash = TrieHashTest.makeEmptyHash(); + private static final Keccak256 emptyHash = TrieHashTest.makeEmptyHash(); @Test void getNonceUnknownAccount() { @@ -429,8 +429,4 @@ void isContract() { private static Repository createRepositoryWithCache() { return new MutableRepository(new MutableTrieCache(new MutableTrieImpl(null, new Trie()))); } - - private static Repository createRepository() { - return new MutableRepository(new MutableTrieImpl(null, new Trie())); - } } diff --git a/rskj-core/src/test/java/co/rsk/peg/BridgeSupportReleaseBtcTest.java b/rskj-core/src/test/java/co/rsk/peg/BridgeSupportReleaseBtcTest.java index cd6a2fcf301..a833a11b717 100644 --- a/rskj-core/src/test/java/co/rsk/peg/BridgeSupportReleaseBtcTest.java +++ b/rskj-core/src/test/java/co/rsk/peg/BridgeSupportReleaseBtcTest.java @@ -25,8 +25,6 @@ import co.rsk.bitcoinj.core.*; import co.rsk.core.RskAddress; import co.rsk.crypto.Keccak256; -import co.rsk.db.MutableTrieCache; -import co.rsk.db.MutableTrieImpl; import co.rsk.peg.bitcoin.BitcoinTestUtils; import co.rsk.peg.constants.BridgeConstants; import co.rsk.peg.constants.BridgeMainNetConstants; @@ -39,7 +37,6 @@ import co.rsk.peg.utils.*; import co.rsk.test.builders.BridgeSupportBuilder; import co.rsk.test.builders.FederationSupportBuilder; -import co.rsk.trie.Trie; import java.io.IOException; import java.math.BigInteger; import java.util.*; @@ -50,7 +47,6 @@ import org.ethereum.config.blockchain.upgrades.ActivationConfigsForTest; import org.ethereum.core.*; import org.ethereum.crypto.ECKey; -import org.ethereum.db.MutableRepository; import org.ethereum.vm.DataWord; import org.ethereum.vm.LogInfo; import org.ethereum.vm.PrecompiledContracts; @@ -87,7 +83,7 @@ class BridgeSupportReleaseBtcTest { void setUpOnEachTest() { signatureCache = new BlockTxSignatureCache(new ReceivedTxSignatureCache()); activeFederation = P2shErpFederationBuilder.builder().build(); - repository = spy(createRepository()); + repository = spy(RskTestUtils.createRepository()); eventLogger = mock(BridgeEventLogger.class); provider = initProvider(); federationStorageProvider = initFederationStorageProvider(); @@ -1653,8 +1649,4 @@ private FederationStorageProvider initFederationStorageProvider() { return storageProvider; } - - private static Repository createRepository() { - return new MutableRepository(new MutableTrieCache(new MutableTrieImpl(null, new Trie()))); - } } diff --git a/rskj-core/src/test/java/co/rsk/peg/RepositoryBtcBlockStoreWithCacheTest.java b/rskj-core/src/test/java/co/rsk/peg/RepositoryBtcBlockStoreWithCacheTest.java index 82547734a81..73591374e86 100644 --- a/rskj-core/src/test/java/co/rsk/peg/RepositoryBtcBlockStoreWithCacheTest.java +++ b/rskj-core/src/test/java/co/rsk/peg/RepositoryBtcBlockStoreWithCacheTest.java @@ -18,36 +18,30 @@ package co.rsk.peg; -import co.rsk.bitcoinj.core.BtcBlock; -import co.rsk.bitcoinj.core.NetworkParameters; -import co.rsk.bitcoinj.core.Sha256Hash; -import co.rsk.bitcoinj.core.StoredBlock; +import static co.rsk.RskTestUtils.createRepository; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import co.rsk.bitcoinj.core.*; import co.rsk.bitcoinj.params.RegTestParams; import co.rsk.bitcoinj.store.BlockStoreException; +import co.rsk.peg.bitcoin.BitcoinTestUtils; import co.rsk.peg.constants.BridgeConstants; import co.rsk.peg.constants.BridgeRegTestConstants; -import co.rsk.db.MutableTrieCache; -import co.rsk.db.MutableTrieImpl; -import co.rsk.trie.Trie; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.math.BigInteger; +import java.util.ArrayList; import java.util.Optional; import org.apache.commons.lang3.tuple.Triple; import org.ethereum.config.blockchain.upgrades.ActivationConfig; import org.ethereum.config.blockchain.upgrades.ConsensusRule; import org.ethereum.core.Repository; -import org.ethereum.db.MutableRepository; import org.ethereum.vm.PrecompiledContracts; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.io.InputStream; -import java.io.ObjectInputStream; -import java.math.BigInteger; -import java.util.ArrayList; - -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - class RepositoryBtcBlockStoreWithCacheTest { private final BridgeConstants bridgeConstants = new BridgeRegTestConstants(); @@ -146,7 +140,7 @@ void put_oldBlockShouldNotGoToCache() throws BlockStoreException { @Test void cacheLivesAcrossInstances() throws BlockStoreException { - Repository repository = createRepository(); + Repository repository = createRepository(); RepositoryBtcBlockStoreWithCache.Factory factory = createBlockStoreFactory(); BtcBlockStoreWithCache btcBlockStore = createBlockStoreWithTrack(factory, repository.startTracking()); @@ -211,7 +205,7 @@ void getInMainchain_hashNotFound() { BtcBlockStoreWithCache.Factory btcBlockStoreFactory = new RepositoryBtcBlockStoreWithCache.Factory(bridgeConstants.getBtcParams()); int blockHeight = 100; - Sha256Hash blockHash = PegTestUtils.createHash(2); + Sha256Hash blockHash = BitcoinTestUtils.createHash(2); BridgeStorageProvider provider = mock(BridgeStorageProvider.class); when(provider.getBtcBestBlockHashByHeight(blockHeight)).thenReturn(Optional.of(blockHash)); @@ -292,7 +286,7 @@ void getStoredBlockAtMainChainHeight_heightGreaterThanChainHead() throws BlockSt @Test void getStoredBlockAtMainChainHeight_postIris_heightLowerThanMaxDepth_limitInBtcHeightWhenBlockIndexActivates() throws BlockStoreException { - Repository repository = createRepository(); + Repository repository = createRepository(); BtcBlockStoreWithCache.Factory btcBlockStoreFactory = new RepositoryBtcBlockStoreWithCache.Factory(bridgeConstants.getBtcParams()); BridgeStorageProvider provider = mock(BridgeStorageProvider.class); @@ -519,10 +513,6 @@ private RepositoryBtcBlockStoreWithCache.Factory createBlockStoreFactory() { return new RepositoryBtcBlockStoreWithCache.Factory(networkParameters); } - private Repository createRepository() { - return new MutableRepository(new MutableTrieCache(new MutableTrieImpl(null, new Trie()))); - } - private StoredBlock createStoredBlock(BtcBlock parent, int height, int nonce) { BtcBlock firstBlockHeader = new BtcBlock( networkParameters, diff --git a/rskj-core/src/test/java/co/rsk/remasc/RemascStorageProviderTest.java b/rskj-core/src/test/java/co/rsk/remasc/RemascStorageProviderTest.java index abe5aa481a9..3ea0ec18d70 100644 --- a/rskj-core/src/test/java/co/rsk/remasc/RemascStorageProviderTest.java +++ b/rskj-core/src/test/java/co/rsk/remasc/RemascStorageProviderTest.java @@ -18,32 +18,34 @@ package co.rsk.remasc; +import static co.rsk.RskTestUtils.createRepository; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + import co.rsk.blockchain.utils.BlockGenerator; import co.rsk.config.RskSystemProperties; import co.rsk.config.TestSystemProperties; -import co.rsk.core.Coin; -import co.rsk.core.RskAddress; -import co.rsk.core.TransactionExecutorFactory; +import co.rsk.core.*; import co.rsk.core.bc.BlockExecutor; -import co.rsk.db.MutableTrieCache; import co.rsk.db.MutableTrieImpl; import co.rsk.db.RepositoryLocator; import co.rsk.db.RepositorySnapshot; -import co.rsk.peg.*; -import co.rsk.peg.federation.FederationStorageProvider; -import co.rsk.peg.federation.FederationStorageProviderImpl; -import co.rsk.peg.federation.FederationSupport; -import co.rsk.peg.federation.FederationSupportImpl; +import co.rsk.peg.BridgeSupportFactory; +import co.rsk.peg.PegTestUtils; +import co.rsk.peg.RepositoryBtcBlockStoreWithCache; +import co.rsk.peg.federation.*; import co.rsk.peg.federation.constants.FederationConstants; import co.rsk.peg.storage.BridgeStorageAccessorImpl; import co.rsk.peg.storage.StorageAccessor; import co.rsk.test.builders.BlockChainBuilder; import co.rsk.trie.Trie; +import java.math.BigInteger; +import java.util.*; import org.ethereum.TestUtils; import org.ethereum.config.Constants; -import org.ethereum.config.blockchain.upgrades.ActivationConfig; -import org.ethereum.config.blockchain.upgrades.ActivationConfigsForTest; -import org.ethereum.config.blockchain.upgrades.ConsensusRule; +import org.ethereum.config.blockchain.upgrades.*; import org.ethereum.core.*; import org.ethereum.crypto.ECKey; import org.ethereum.crypto.Keccak256Helper; @@ -53,15 +55,6 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.io.IOException; -import java.math.BigInteger; -import java.util.*; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.when; - /** * Created by usuario on 13/04/2017. */ @@ -511,8 +504,4 @@ void paysOnlyBlocksWithEnoughBalanceAccumulatedAfterRFS() { } } } - - private static Repository createRepository() { - return new MutableRepository(new MutableTrieCache(new MutableTrieImpl(null, new Trie()))); - } } diff --git a/rskj-core/src/test/java/org/ethereum/jsontestsuite/TestRunner.java b/rskj-core/src/test/java/org/ethereum/jsontestsuite/TestRunner.java index 1109dcec96c..092485beb1a 100644 --- a/rskj-core/src/test/java/org/ethereum/jsontestsuite/TestRunner.java +++ b/rskj-core/src/test/java/org/ethereum/jsontestsuite/TestRunner.java @@ -18,6 +18,7 @@ */ package org.ethereum.jsontestsuite; +import co.rsk.RskTestUtils; import co.rsk.config.TestSystemProperties; import co.rsk.config.VmConfig; import co.rsk.core.Coin; @@ -28,7 +29,6 @@ import co.rsk.core.bc.TransactionPoolImpl; import co.rsk.db.*; import co.rsk.net.handler.quota.TxQuotaChecker; -import co.rsk.trie.Trie; import co.rsk.trie.TrieStore; import co.rsk.trie.TrieStoreImpl; import co.rsk.validators.DummyBlockValidator; @@ -237,7 +237,7 @@ public List runTestCase(TestingCase testCase) { logger.info("--------- PRE ---------"); - Repository repository = loadRepository(createRepository().startTracking(), testCase.getPre()); + Repository repository = loadRepository(RskTestUtils.createRepository().startTracking(), testCase.getPre()); try { @@ -672,10 +672,6 @@ public ProgramTrace getTrace() { return trace; } - private static Repository createRepository() { - return new MutableRepository(new MutableTrieCache(new MutableTrieImpl(null, new Trie()))); - } - public Block build( BlockHeaderTck header, List transactionsTck,