Skip to content

Commit

Permalink
Add util method createRepository
Browse files Browse the repository at this point in the history
  • Loading branch information
marcos-iov committed Oct 24, 2024
1 parent f0929e8 commit ad37c1e
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 92 deletions.
8 changes: 8 additions & 0 deletions rskj-core/src/test/java/co/rsk/RskTestUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 {

Expand Down Expand Up @@ -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())));
}
}
27 changes: 10 additions & 17 deletions rskj-core/src/test/java/co/rsk/db/RepositoryImplOriginalTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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
Expand Down Expand Up @@ -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()));
}
}
18 changes: 7 additions & 11 deletions rskj-core/src/test/java/co/rsk/db/RepositoryImplTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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() {
Expand Down Expand Up @@ -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()));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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.*;
Expand All @@ -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;
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -1653,8 +1649,4 @@ private FederationStorageProvider initFederationStorageProvider() {

return storageProvider;
}

private static Repository createRepository() {
return new MutableRepository(new MutableTrieCache(new MutableTrieImpl(null, new Trie())));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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());

Expand Down Expand Up @@ -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));

Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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.
*/
Expand Down Expand Up @@ -511,8 +504,4 @@ void paysOnlyBlocksWithEnoughBalanceAccumulatedAfterRFS() {
}
}
}

private static Repository createRepository() {
return new MutableRepository(new MutableTrieCache(new MutableTrieImpl(null, new Trie())));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down Expand Up @@ -237,7 +237,7 @@ public List<String> runTestCase(TestingCase testCase) {


logger.info("--------- PRE ---------");
Repository repository = loadRepository(createRepository().startTracking(), testCase.getPre());
Repository repository = loadRepository(RskTestUtils.createRepository().startTracking(), testCase.getPre());

try {

Expand Down Expand Up @@ -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<TransactionTck> transactionsTck,
Expand Down

0 comments on commit ad37c1e

Please sign in to comment.