diff --git a/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/TestPrivacyServicePlugin.java b/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/TestPrivacyServicePlugin.java index a441640b0..4cdd35e8d 100644 --- a/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/TestPrivacyServicePlugin.java +++ b/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/TestPrivacyServicePlugin.java @@ -68,7 +68,7 @@ public class TestPrivacyServicePlugin implements BesuPlugin { if (signingEnabled) { pluginService.setPrivateMarkerTransactionFactory(privateMarkerTransactionFactory); - privateMarkerTransactionFactory.setSigningKeyEnbaled(signingKey); + privateMarkerTransactionFactory.setSigningKeyEnabled(signingKey); } } diff --git a/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestSigningPrivateMarkerTransactionFactory.java b/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestSigningPrivateMarkerTransactionFactory.java index 09e1eb0a4..7c3ca223e 100644 --- a/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestSigningPrivateMarkerTransactionFactory.java +++ b/acceptance-tests/test-plugins/src/main/java/org/hyperledger/besu/tests/acceptance/plugins/privacy/TestSigningPrivateMarkerTransactionFactory.java @@ -43,7 +43,7 @@ public class TestSigningPrivateMarkerTransactionFactory implements PrivateMarker KeyPair aliceFixedSigningKey; Address sender; - public void setSigningKeyEnbaled(final String privateMarkerTransactionSigningKey) { + public void setSigningKeyEnabled(final String privateMarkerTransactionSigningKey) { final SignatureAlgorithm algorithm = SignatureAlgorithmFactory.getInstance(); final SECPPrivateKey privateKey = algorithm.createPrivateKey(Bytes32.fromHexString(privateMarkerTransactionSigningKey)); diff --git a/besu/src/test/java/org/hyperledger/besu/PrivacyReorgTest.java b/besu/src/test/java/org/hyperledger/besu/PrivacyReorgTest.java index d5b9d2866..49a568547 100644 --- a/besu/src/test/java/org/hyperledger/besu/PrivacyReorgTest.java +++ b/besu/src/test/java/org/hyperledger/besu/PrivacyReorgTest.java @@ -31,7 +31,6 @@ import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.datatypes.Wei; import org.hyperledger.besu.enclave.Enclave; import org.hyperledger.besu.enclave.EnclaveFactory; -import org.hyperledger.besu.enclave.types.PrivacyGroup; import org.hyperledger.besu.enclave.types.ReceiveResponse; import org.hyperledger.besu.ethereum.GasLimitCalculator; import org.hyperledger.besu.ethereum.ProtocolContext; @@ -51,7 +50,6 @@ import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfigurati import org.hyperledger.besu.ethereum.mainnet.HeaderValidationMode; import org.hyperledger.besu.ethereum.privacy.PrivateStateRootResolver; import org.hyperledger.besu.ethereum.privacy.PrivateTransaction; -import org.hyperledger.besu.ethereum.privacy.RestrictedDefaultPrivacyController; import org.hyperledger.besu.ethereum.privacy.storage.PrivacyGroupHeadBlockMap; import org.hyperledger.besu.ethereum.privacy.storage.PrivacyStorageProvider; import org.hyperledger.besu.ethereum.privacy.storage.PrivateStateStorage; @@ -134,7 +132,6 @@ public class PrivacyReorgTest { private BesuController besuController; private PrivateStateRootResolver privateStateRootResolver; private PrivacyParameters privacyParameters; - private RestrictedDefaultPrivacyController privacyController; private Enclave mockEnclave; private Transaction privacyMarkerTransaction; @@ -176,9 +173,6 @@ public class PrivacyReorgTest { .build(); privacyParameters.setPrivacyUserId(ENCLAVE_PUBLIC_KEY.toBase64String()); - privacyController = mock(RestrictedDefaultPrivacyController.class); - when(privacyController.findPrivacyGroupByGroupId(any(), any())) - .thenReturn(Optional.of(new PrivacyGroup())); privateStateRootResolver = new PrivateStateRootResolver(privacyParameters.getPrivateStateStorage()); diff --git a/besu/src/test/java/org/hyperledger/besu/RunnerBuilderTest.java b/besu/src/test/java/org/hyperledger/besu/RunnerBuilderTest.java index 373b9918f..77e349819 100644 --- a/besu/src/test/java/org/hyperledger/besu/RunnerBuilderTest.java +++ b/besu/src/test/java/org/hyperledger/besu/RunnerBuilderTest.java @@ -95,16 +95,17 @@ public final class RunnerBuilderTest { @Rule public TemporaryFolder dataDir = new TemporaryFolder(); @Mock BesuController besuController; + @Mock ProtocolSchedule protocolSchedule; + @Mock ProtocolContext protocolContext; @Mock Vertx vertx; + private NodeKey nodeKey; @Before public void setup() { final SubProtocolConfiguration subProtocolConfiguration = mock(SubProtocolConfiguration.class); final EthProtocolManager ethProtocolManager = mock(EthProtocolManager.class); final EthContext ethContext = mock(EthContext.class); - final ProtocolContext protocolContext = mock(ProtocolContext.class); - final NodeKey nodeKey = - new NodeKey(new KeyPairSecurityModule(new SECP256K1().generateKeyPair())); + nodeKey = new NodeKey(new KeyPairSecurityModule(new SECP256K1().generateKeyPair())); when(subProtocolConfiguration.getProtocolManagers()) .thenReturn( @@ -127,7 +128,7 @@ public final class RunnerBuilderTest { when(besuController.getProtocolManager()).thenReturn(ethProtocolManager); when(besuController.getSubProtocolConfiguration()).thenReturn(subProtocolConfiguration); when(besuController.getProtocolContext()).thenReturn(protocolContext); - when(besuController.getProtocolSchedule()).thenReturn(mock(ProtocolSchedule.class)); + when(besuController.getProtocolSchedule()).thenReturn(protocolSchedule); when(besuController.getNodeKey()).thenReturn(nodeKey); when(besuController.getMiningParameters()).thenReturn(mock(MiningParameters.class)); when(besuController.getPrivacyParameters()).thenReturn(mock(PrivacyParameters.class)); @@ -169,14 +170,14 @@ public final class RunnerBuilderTest { .build(); runner.startEthereumMainLoop(); - final EnodeURL expectedEodeURL = + final EnodeURL expectedEnodeURL = EnodeURLImpl.builder() .ipAddress(p2pAdvertisedHost) .discoveryPort(0) .listeningPort(p2pListenPort) - .nodeId(besuController.getNodeKey().getPublicKey().getEncoded()) + .nodeId(nodeKey.getPublicKey().getEncoded()) .build(); - assertThat(runner.getLocalEnode().orElseThrow()).isEqualTo(expectedEodeURL); + assertThat(runner.getLocalEnode().orElseThrow()).isEqualTo(expectedEnodeURL); } @Test @@ -186,9 +187,9 @@ public final class RunnerBuilderTest { final int p2pListenPort = 30301; final StorageProvider storageProvider = new InMemoryKeyValueStorageProvider(); final Block genesisBlock = gen.genesisBlock(); - final MutableBlockchain blockchain = + final MutableBlockchain inMemoryBlockchain = createInMemoryBlockchain(genesisBlock, new MainnetBlockHeaderFunctions()); - when(besuController.getProtocolContext().getBlockchain()).thenReturn(blockchain); + when(protocolContext.getBlockchain()).thenReturn(inMemoryBlockchain); final Runner runner = new RunnerBuilder() .discovery(true) @@ -212,15 +213,16 @@ public final class RunnerBuilderTest { .rpcEndpointService(new RpcEndpointServiceImpl()) .build(); runner.startEthereumMainLoop(); - when(besuController.getProtocolSchedule().streamMilestoneBlocks()) - .thenAnswer(__ -> Stream.of(1L, 2L)); + + when(protocolSchedule.streamMilestoneBlocks()).thenAnswer(__ -> Stream.of(1L, 2L)); + for (int i = 0; i < 2; ++i) { final Block block = gen.block( BlockDataGenerator.BlockOptions.create() .setBlockNumber(1 + i) - .setParentHash(blockchain.getChainHeadHash())); - blockchain.appendBlock(block, gen.receipts(block)); + .setParentHash(inMemoryBlockchain.getChainHeadHash())); + inMemoryBlockchain.appendBlock(block, gen.receipts(block)); assertThat( storageProvider .getStorageBySegmentIdentifier(BLOCKCHAIN) @@ -400,7 +402,8 @@ public final class RunnerBuilderTest { final EthNetworkConfig mockMainnet = mock(EthNetworkConfig.class); when(mockMainnet.getNetworkId()).thenReturn(BigInteger.ONE); MergeConfigOptions.setMergeEnabled(true); - final MiningParameters mockMiningParams = besuController.getMiningParameters(); + final MiningParameters mockMiningParams = mock(MiningParameters.class); + when(besuController.getMiningParameters()).thenReturn(mockMiningParams); when(mockMiningParams.isStratumMiningEnabled()).thenReturn(true); final TransitionCoordinator mockTransitionCoordinator = spy( diff --git a/besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java b/besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java index d56d602a6..f1ea5aabe 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java @@ -1200,7 +1200,8 @@ public class BesuCommandTest extends CommandTestAbstract { public void identityValueTrueMustBeUsed() { parseCommand("--identity", "test"); - verify(mockRunnerBuilder.identityString(eq(Optional.of("test")))).build(); + verify(mockRunnerBuilder).identityString(eq(Optional.of("test"))); + verify(mockRunnerBuilder).build(); assertThat(commandOutput.toString(UTF_8)).isEmpty(); assertThat(commandErrorOutput.toString(UTF_8)).isEmpty(); @@ -1210,7 +1211,8 @@ public class BesuCommandTest extends CommandTestAbstract { public void p2pEnabledOptionValueTrueMustBeUsed() { parseCommand("--p2p-enabled", "true"); - verify(mockRunnerBuilder.p2pEnabled(eq(true))).build(); + verify(mockRunnerBuilder).p2pEnabled(eq(true)); + verify(mockRunnerBuilder).build(); assertThat(commandOutput.toString(UTF_8)).isEmpty(); assertThat(commandErrorOutput.toString(UTF_8)).isEmpty(); @@ -1220,7 +1222,8 @@ public class BesuCommandTest extends CommandTestAbstract { public void p2pEnabledOptionValueFalseMustBeUsed() { parseCommand("--p2p-enabled", "false"); - verify(mockRunnerBuilder.p2pEnabled(eq(false))).build(); + verify(mockRunnerBuilder).p2pEnabled(eq(false)); + verify(mockRunnerBuilder).build(); assertThat(commandOutput.toString(UTF_8)).isEmpty(); assertThat(commandErrorOutput.toString(UTF_8)).isEmpty(); @@ -1301,7 +1304,8 @@ public class BesuCommandTest extends CommandTestAbstract { public void discoveryOptionValueTrueMustBeUsed() { parseCommand("--discovery-enabled", "true"); - verify(mockRunnerBuilder.discovery(eq(true))).build(); + verify(mockRunnerBuilder).discovery(eq(true)); + verify(mockRunnerBuilder).build(); assertThat(commandOutput.toString(UTF_8)).isEmpty(); assertThat(commandErrorOutput.toString(UTF_8)).isEmpty(); @@ -1311,7 +1315,8 @@ public class BesuCommandTest extends CommandTestAbstract { public void discoveryOptionValueFalseMustBeUsed() { parseCommand("--discovery-enabled", "false"); - verify(mockRunnerBuilder.discovery(eq(false))).build(); + verify(mockRunnerBuilder).discovery(eq(false)); + verify(mockRunnerBuilder).build(); assertThat(commandOutput.toString(UTF_8)).isEmpty(); assertThat(commandErrorOutput.toString(UTF_8)).isEmpty(); @@ -4397,8 +4402,8 @@ public class BesuCommandTest extends CommandTestAbstract { public void privateMarkerTransactionSigningKeyFileNotCanNotBeUsedWithPluginPrivateMarkerTransactionFactory() throws IOException { - privacyPluginService.setPrivateMarkerTransactionFactory( - mock(PrivateMarkerTransactionFactory.class)); + when(privacyPluginService.getPrivateMarkerTransactionFactory()) + .thenReturn(mock(PrivateMarkerTransactionFactory.class)); final Path toml = createTempFile( "key", @@ -4412,7 +4417,10 @@ public class BesuCommandTest extends CommandTestAbstract { toml.toString()); assertThat(commandOutput.toString(UTF_8)).isEmpty(); - assertThat(commandErrorOutput.toString(UTF_8)).isEmpty(); + // assertThat(commandErrorOutput.toString(UTF_8)).isEmpty(); + assertThat(commandErrorOutput.toString(UTF_8)) + .startsWith( + "--privacy-marker-transaction-signing-key-file can not be used in conjunction with a plugin that specifies"); } @Test diff --git a/besu/src/test/java/org/hyperledger/besu/cli/util/ConfigOptionSearchAndRunHandlerTest.java b/besu/src/test/java/org/hyperledger/besu/cli/util/ConfigOptionSearchAndRunHandlerTest.java index b248a4c69..0f0c1e696 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/util/ConfigOptionSearchAndRunHandlerTest.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/util/ConfigOptionSearchAndRunHandlerTest.java @@ -43,7 +43,6 @@ import org.mockito.junit.MockitoJUnitRunner; import picocli.CommandLine; import picocli.CommandLine.IDefaultValueProvider; import picocli.CommandLine.IExecutionStrategy; -import picocli.CommandLine.IParameterExceptionHandler; import picocli.CommandLine.Model.CommandSpec; import picocli.CommandLine.Model.IGetter; import picocli.CommandLine.Model.OptionSpec; @@ -58,7 +57,6 @@ public class ConfigOptionSearchAndRunHandlerTest { private LoggingLevelOption levelOption; private final IExecutionStrategy resultHandler = new RunLast(); - private IParameterExceptionHandler parameterExceptionHandler; private final Map environment = singletonMap("BESU_LOGGING", "ERROR"); private ConfigOptionSearchAndRunHandler configParsingHandler; @@ -80,12 +78,11 @@ public class ConfigOptionSearchAndRunHandlerTest { when(mockParseResult.matchedOption(CONFIG_FILE_OPTION_NAME)).thenReturn(mockConfigOptionSpec); when(mockParseResult.hasMatchedOption(CONFIG_FILE_OPTION_NAME)).thenReturn(true); when(mockConfigOptionSpec.getter()).thenReturn(mockConfigOptionGetter); - when(mockCommandLine.getParameterExceptionHandler()).thenReturn(mockParameterExceptionHandler); levelOption = new LoggingLevelOption(); levelOption.setLogLevel("INFO"); - parameterExceptionHandler = mockCommandLine.getParameterExceptionHandler(); configParsingHandler = - new ConfigOptionSearchAndRunHandler(resultHandler, parameterExceptionHandler, environment); + new ConfigOptionSearchAndRunHandler( + resultHandler, mockParameterExceptionHandler, environment); } @Test @@ -94,7 +91,7 @@ public class ConfigOptionSearchAndRunHandlerTest { final List result = configParsingHandler.handle(mockParseResult); verify(mockCommandLine).setDefaultValueProvider(any(IDefaultValueProvider.class)); verify(mockCommandLine).setExecutionStrategy(eq(resultHandler)); - verify(mockCommandLine).setParameterExceptionHandler(eq(parameterExceptionHandler)); + verify(mockCommandLine).setParameterExceptionHandler(eq(mockParameterExceptionHandler)); verify(mockCommandLine).execute(anyString()); assertThat(result).isEmpty(); @@ -107,7 +104,7 @@ public class ConfigOptionSearchAndRunHandlerTest { final ConfigOptionSearchAndRunHandler environmentConfigFileParsingHandler = new ConfigOptionSearchAndRunHandler( resultHandler, - parameterExceptionHandler, + mockParameterExceptionHandler, singletonMap("BESU_CONFIG_FILE", temp.newFile().getAbsolutePath())); when(mockParseResult.hasMatchedOption(CONFIG_FILE_OPTION_NAME)).thenReturn(false); @@ -129,7 +126,7 @@ public class ConfigOptionSearchAndRunHandlerTest { final ConfigOptionSearchAndRunHandler environmentConfigFileParsingHandler = new ConfigOptionSearchAndRunHandler( resultHandler, - parameterExceptionHandler, + mockParameterExceptionHandler, singletonMap("BESU_CONFIG_FILE", "not_found.toml")); when(mockParseResult.hasMatchedOption(CONFIG_FILE_OPTION_NAME)).thenReturn(false); @@ -162,7 +159,7 @@ public class ConfigOptionSearchAndRunHandlerTest { final ConfigOptionSearchAndRunHandler environmentConfigFileParsingHandler = new ConfigOptionSearchAndRunHandler( resultHandler, - parameterExceptionHandler, + mockParameterExceptionHandler, singletonMap("BESU_CONFIG_FILE", temp.newFile().getAbsolutePath())); when(mockParseResult.hasMatchedOption(CONFIG_FILE_OPTION_NAME)).thenReturn(true); diff --git a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java index 39b4bd02b..e286eaed5 100644 --- a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java +++ b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockCreatorTest.java @@ -191,7 +191,10 @@ public class CliqueBlockCreatorTest { CliqueExtraData.createWithoutProposerSeal(Bytes.wrap(new byte[32]), validatorList); final Address a1 = Address.fromHexString("5"); final Address coinbase = AddressHelpers.ofValue(1); - when(validatorProvider.getVoteProviderAtHead().get().getVoteAfterBlock(any(), any())) + + final VoteProvider mockVoteProvider = mock(VoteProvider.class); + when(validatorProvider.getVoteProviderAtHead()).thenReturn(Optional.of(mockVoteProvider)); + when(mockVoteProvider.getVoteAfterBlock(any(), any())) .thenReturn(Optional.of(new ValidatorVote(VoteType.ADD, coinbase, a1))); final CliqueBlockCreator blockCreator = diff --git a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMiningCoordinatorTest.java b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMiningCoordinatorTest.java index f9e4b737f..543d110ef 100644 --- a/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMiningCoordinatorTest.java +++ b/consensus/clique/src/test/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueMiningCoordinatorTest.java @@ -57,6 +57,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; @ExtendWith(MockitoExtension.class) +@SuppressWarnings("DirectInvocationOnMock") public class CliqueMiningCoordinatorTest { private static final Supplier SIGNATURE_ALGORITHM = @@ -80,10 +81,10 @@ public class CliqueMiningCoordinatorTest { @Mock private CliqueBlockMiner blockMiner; @Mock private SyncState syncState; @Mock private ValidatorProvider validatorProvider; + @Mock private BlockHeader blockHeader; @BeforeEach public void setup() { - headerTestFixture.number(1); Block genesisBlock = createEmptyBlock(0, Hash.ZERO, proposerKeys); // not normally signed but ok blockChain = createInMemoryBlockchain(genesisBlock); @@ -101,7 +102,7 @@ public class CliqueMiningCoordinatorTest { // As the head of the blockChain is 0 (which effectively doesn't have a signer, all validators // are able to propose. - when(blockMiner.getParentHeader()).thenReturn(blockChain.getChainHeadHeader()); + when(blockMiner.getParentHeader()).thenReturn(blockHeader); // Note also - validators is an hard-ordered LIST, thus in-turn will follow said list - block_1 // should be created by proposer. diff --git a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/validator/blockbased/VoteTally.java b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/validator/blockbased/VoteTally.java index fa7853a78..6af918787 100644 --- a/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/validator/blockbased/VoteTally.java +++ b/consensus/common/src/main/java/org/hyperledger/besu/consensus/common/validator/blockbased/VoteTally.java @@ -110,6 +110,8 @@ class VoteTally { } /** + * The validator addresses + * * @return The collection of validators after the voting at the most recent block has been * finalised. */ diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/CommitMessageTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/CommitMessageTest.java index f01ca919d..8aa054da4 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/CommitMessageTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/CommitMessageTest.java @@ -57,7 +57,7 @@ public class CommitMessageTest { when(messageData.getCode()).thenReturn(IbftV2.COMMIT); CommitMessageData commitMessage = CommitMessageData.fromMessageData(messageData); - assertThat(commitMessage.getData()).isEqualTo(messageData.getData()); + assertThat(commitMessage.getData()).isEqualTo(messageBytes); assertThat(commitMessage.getCode()).isEqualTo(IbftV2.COMMIT); } diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/PrepareMessageTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/PrepareMessageTest.java index d8b732a70..af4c7fa5b 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/PrepareMessageTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/PrepareMessageTest.java @@ -57,7 +57,7 @@ public class PrepareMessageTest { when(messageData.getCode()).thenReturn(IbftV2.PREPARE); PrepareMessageData prepareMessage = PrepareMessageData.fromMessageData(messageData); - assertThat(prepareMessage.getData()).isEqualTo(messageData.getData()); + assertThat(prepareMessage.getData()).isEqualTo(messageBytes); assertThat(prepareMessage.getCode()).isEqualTo(IbftV2.PREPARE); } diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/ProposalMessageTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/ProposalMessageTest.java index b8bb1f949..8e3ba3ebb 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/ProposalMessageTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/ProposalMessageTest.java @@ -57,7 +57,7 @@ public class ProposalMessageTest { when(messageData.getData()).thenReturn(messageBytes); final ProposalMessageData proposalMessage = ProposalMessageData.fromMessageData(messageData); - assertThat(proposalMessage.getData()).isEqualTo(messageData.getData()); + assertThat(proposalMessage.getData()).isEqualTo(messageBytes); assertThat(proposalMessage.getCode()).isEqualTo(IbftV2.PROPOSAL); } diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/RoundChangeMessageTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/RoundChangeMessageTest.java index ed0b36f02..35a0745d0 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/RoundChangeMessageTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/messagedata/RoundChangeMessageTest.java @@ -57,7 +57,7 @@ public class RoundChangeMessageTest { when(messageData.getCode()).thenReturn(IbftV2.ROUND_CHANGE); RoundChangeMessageData roundChangeMessage = RoundChangeMessageData.fromMessageData(messageData); - assertThat(roundChangeMessage.getData()).isEqualTo(messageData.getData()); + assertThat(roundChangeMessage.getData()).isEqualTo(messageBytes); assertThat(roundChangeMessage.getCode()).isEqualTo(IbftV2.ROUND_CHANGE); } diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java index 172586793..777bac2c4 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManagerTest.java @@ -159,8 +159,7 @@ public class IbftBlockHeightManagerTest { invocation -> { final int round = invocation.getArgument(1); final ConsensusRoundIdentifier roundId = new ConsensusRoundIdentifier(1, round); - final RoundState createdRoundState = - new RoundState(roundId, finalState.getQuorum(), messageValidator); + final RoundState createdRoundState = new RoundState(roundId, 3, messageValidator); return new IbftRound( createdRoundState, blockCreator, diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftControllerTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftControllerTest.java index 45fc0dad2..d425d3f1c 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftControllerTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftControllerTest.java @@ -201,7 +201,7 @@ public class IbftControllerTest { public void newBlockForCurrentOrPreviousHeightTriggersNoChange() { constructIbftController(); ibftController.start(); - long chainHeadHeight = chainHeadBlockHeader.getNumber(); + long chainHeadHeight = 3; when(nextBlock.getNumber()).thenReturn(chainHeadHeight); when(nextBlock.getHash()).thenReturn(Hash.ZERO); final NewChainHead sameHeightBlock = new NewChainHead(nextBlock); diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeManagerTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeManagerTest.java index fbb16d664..634fde18a 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeManagerTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundChangeManagerTest.java @@ -36,8 +36,6 @@ import org.hyperledger.besu.consensus.ibft.validation.SignedDataValidator; import org.hyperledger.besu.crypto.NodeKey; import org.hyperledger.besu.crypto.NodeKeyUtils; import org.hyperledger.besu.datatypes.Address; -import org.hyperledger.besu.ethereum.BlockProcessingResult; -import org.hyperledger.besu.ethereum.BlockValidator; import org.hyperledger.besu.ethereum.core.Block; import org.hyperledger.besu.ethereum.core.Util; @@ -76,10 +74,6 @@ public class RoundChangeManagerTest { validators.add(Util.publicKeyToAddress(validator1Key.getPublicKey())); validators.add(Util.publicKeyToAddress(validator2Key.getPublicKey())); - final BlockValidator blockValidator = mock(BlockValidator.class); - when(blockValidator.validateAndProcessBlock(any(), any(), any(), any())) - .thenReturn(new BlockProcessingResult(Optional.empty())); - final RoundChangePayloadValidator.MessageValidatorForHeightFactory messageValidatorFactory = mock(RoundChangePayloadValidator.MessageValidatorForHeightFactory.class); diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundStateTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundStateTest.java index 3a98d5a2f..00bf0371a 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundStateTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/statemachine/RoundStateTest.java @@ -59,6 +59,8 @@ public class RoundStateTest { private final List
validators = Lists.newArrayList(); + private final Hash blockHash = Hash.fromHexStringLenient("1"); + @Mock private MessageValidator messageValidator; @Mock private Block block; @@ -71,7 +73,7 @@ public class RoundStateTest { validators.add(Util.publicKeyToAddress(newNodeKey.getPublicKey())); validatorMessageFactories.add(new MessageFactory(newNodeKey)); } - when(block.getHash()).thenReturn(Hash.fromHexStringLenient("1")); + when(block.getHash()).thenReturn(blockHash); } @Test @@ -136,7 +138,7 @@ public class RoundStateTest { .get(0) .createCommit( roundIdentifier, - block.getHash(), + blockHash, SignatureAlgorithmFactory.getInstance() .createSignature(BigInteger.ONE, BigInteger.ONE, (byte) 1)); @@ -154,10 +156,10 @@ public class RoundStateTest { final RoundState roundState = new RoundState(roundIdentifier, 3, messageValidator); final Prepare firstPrepare = - validatorMessageFactories.get(1).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(1).createPrepare(roundIdentifier, blockHash); final Prepare secondPrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); roundState.addPrepareMessage(firstPrepare); assertThat(roundState.isPrepared()).isFalse(); @@ -180,10 +182,10 @@ public class RoundStateTest { @Test public void invalidPriorPrepareMessagesAreDiscardedUponSubsequentProposal() { final Prepare firstPrepare = - validatorMessageFactories.get(1).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(1).createPrepare(roundIdentifier, blockHash); final Prepare secondPrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); // RoundState has a quorum size of 3, meaning 1 proposal and 2 prepare are required to be // 'prepared'. @@ -211,10 +213,10 @@ public class RoundStateTest { final RoundState roundState = new RoundState(roundIdentifier, 2, messageValidator); final Prepare firstPrepare = - validatorMessageFactories.get(1).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(1).createPrepare(roundIdentifier, blockHash); final Prepare secondPrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); final Proposal proposal = validatorMessageFactories.get(0).createProposal(roundIdentifier, block, Optional.empty()); @@ -246,7 +248,7 @@ public class RoundStateTest { .get(1) .createCommit( roundIdentifier, - block.getHash(), + blockHash, signatureAlgorithm.createSignature(BigInteger.ONE, BigInteger.TEN, (byte) 1)); final Commit secondCommit = @@ -254,7 +256,7 @@ public class RoundStateTest { .get(2) .createCommit( roundIdentifier, - block.getHash(), + blockHash, signatureAlgorithm.createSignature(BigInteger.TEN, BigInteger.TEN, (byte) 1)); final Proposal proposal = @@ -275,13 +277,13 @@ public class RoundStateTest { final RoundState roundState = new RoundState(roundIdentifier, 2, messageValidator); final Prepare firstPrepare = - validatorMessageFactories.get(1).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(1).createPrepare(roundIdentifier, blockHash); final Prepare secondPrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); final Prepare duplicatePrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); final Proposal proposal = validatorMessageFactories.get(0).createProposal(roundIdentifier, block, Optional.empty()); diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeCertificateValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeCertificateValidatorTest.java index 867581e52..dfc3a806b 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeCertificateValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeCertificateValidatorTest.java @@ -17,7 +17,6 @@ package org.hyperledger.besu.consensus.ibft.validation; import static java.util.Collections.singletonList; import static java.util.Optional.empty; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -47,6 +46,7 @@ import com.google.common.collect.Lists; import org.junit.Before; import org.junit.Test; +@SuppressWarnings("DirectInvocationOnMock") public class RoundChangeCertificateValidatorTest { private final NodeKey proposerKey = NodeKeyUtils.generate(); @@ -62,7 +62,6 @@ public class RoundChangeCertificateValidatorTest { private final MessageValidatorForHeightFactory validatorFactory = mock(MessageValidatorForHeightFactory.class); - private final SignedDataValidator signedDataValidator = mock(SignedDataValidator.class); final IbftExtraDataCodec bftExtraDataEncoder = new IbftExtraDataCodec(); final BftBlockInterface bftBlockInterface = new BftBlockInterface(bftExtraDataEncoder); @@ -125,9 +124,6 @@ public class RoundChangeCertificateValidatorTest { validatorMessageFactory.createPrepare( prevRound, proposedBlock.getHash())))))); - // The prepare Message in the RoundChange Cert will be deemed illegal. - when(signedDataValidator.validatePrepare(any())).thenReturn(false); - assertThat( validator.validateRoundChangeMessagesAndEnsureTargetRoundMatchesRoot( roundIdentifier, roundChangeBuilder.buildCertificate())) diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeSignedDataValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeSignedDataValidatorTest.java index 6d78e5a5f..99fce4ade 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeSignedDataValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/RoundChangeSignedDataValidatorTest.java @@ -44,6 +44,7 @@ import com.google.common.collect.Lists; import org.junit.Before; import org.junit.Test; +@SuppressWarnings("DirectInvocationOnMock") public class RoundChangeSignedDataValidatorTest { private final NodeKey proposerKey = NodeKeyUtils.generate(); diff --git a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidatorTest.java b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidatorTest.java index e39d696ac..037f51d3b 100644 --- a/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidatorTest.java +++ b/consensus/ibft/src/test/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidatorTest.java @@ -42,6 +42,7 @@ import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) +@SuppressWarnings("DirectInvocationOnMock") public class SignedDataValidatorTest { private final NodeKey proposerKey = NodeKeyUtils.generate(); diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java index 295703209..2d04e0187 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftBlockHeightManagerTest.java @@ -165,8 +165,7 @@ public class QbftBlockHeightManagerTest { invocation -> { final int round = invocation.getArgument(1); final ConsensusRoundIdentifier roundId = new ConsensusRoundIdentifier(1, round); - final RoundState createdRoundState = - new RoundState(roundId, finalState.getQuorum(), messageValidator); + final RoundState createdRoundState = new RoundState(roundId, 3, messageValidator); return new QbftRound( createdRoundState, blockCreator, diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftControllerTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftControllerTest.java index 52abeffea..4ea2dd843 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftControllerTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/QbftControllerTest.java @@ -206,17 +206,16 @@ public class QbftControllerTest { public void newBlockForCurrentOrPreviousHeightTriggersNoChange() { constructQbftController(); qbftController.start(); - long chainHeadHeight = chainHeadBlockHeader.getNumber(); + long chainHeadHeight = 4; when(nextBlock.getNumber()).thenReturn(chainHeadHeight); when(nextBlock.getHash()).thenReturn(Hash.ZERO); final NewChainHead sameHeightBlock = new NewChainHead(nextBlock); qbftController.handleNewBlockEvent(sameHeightBlock); - verify(blockHeightManagerFactory, times(1)).create(any()); // initial creation when(nextBlock.getNumber()).thenReturn(chainHeadHeight - 1); final NewChainHead priorBlock = new NewChainHead(nextBlock); qbftController.handleNewBlockEvent(priorBlock); - verify(blockHeightManagerFactory, times(1)).create(any()); + verify(blockHeightManagerFactory, times(2)).create(any()); // 2 blocks created } @Test diff --git a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/RoundStateTest.java b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/RoundStateTest.java index e22470909..f2c815eca 100644 --- a/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/RoundStateTest.java +++ b/consensus/qbft/src/test/java/org/hyperledger/besu/consensus/qbft/statemachine/RoundStateTest.java @@ -64,6 +64,7 @@ public class RoundStateTest { private final ConsensusRoundIdentifier roundIdentifier = new ConsensusRoundIdentifier(1, 1); private final List
validators = Lists.newArrayList(); + private final Hash blockHash = Hash.fromHexStringLenient("1"); @Mock private MessageValidator messageValidator; @@ -77,7 +78,6 @@ public class RoundStateTest { validators.add(Util.publicKeyToAddress(newNodeKey.getPublicKey())); validatorMessageFactories.add(new MessageFactory(newNodeKey)); } - when(block.getHash()).thenReturn(Hash.fromHexStringLenient("1")); } @Test @@ -128,7 +128,7 @@ public class RoundStateTest { .get(0) .createCommit( roundIdentifier, - block.getHash(), + blockHash, SIGNATURE_ALGORITHM .get() .createSignature(BigInteger.ONE, BigInteger.ONE, (byte) 1)); @@ -147,13 +147,13 @@ public class RoundStateTest { final RoundState roundState = new RoundState(roundIdentifier, 3, messageValidator); final Prepare firstPrepare = - validatorMessageFactories.get(1).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(1).createPrepare(roundIdentifier, blockHash); final Prepare secondPrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); final Prepare thirdPrepare = - validatorMessageFactories.get(0).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(0).createPrepare(roundIdentifier, blockHash); roundState.addPrepareMessage(firstPrepare); assertThat(roundState.isPrepared()).isFalse(); @@ -184,10 +184,10 @@ public class RoundStateTest { @Test public void invalidPriorPrepareMessagesAreDiscardedUponSubsequentProposal() { final Prepare firstPrepare = - validatorMessageFactories.get(1).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(1).createPrepare(roundIdentifier, blockHash); final Prepare secondPrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); // RoundState has a quorum size of 3, meaning 1 proposal and 2 prepare are required to be // 'prepared'. @@ -218,13 +218,13 @@ public class RoundStateTest { final RoundState roundState = new RoundState(roundIdentifier, 2, messageValidator); final Prepare firstPrepare = - validatorMessageFactories.get(1).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(1).createPrepare(roundIdentifier, blockHash); final Prepare secondPrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); final Prepare thirdPrepare = - validatorMessageFactories.get(0).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(0).createPrepare(roundIdentifier, blockHash); final Proposal proposal = validatorMessageFactories @@ -262,7 +262,7 @@ public class RoundStateTest { .get(1) .createCommit( roundIdentifier, - block.getHash(), + blockHash, SIGNATURE_ALGORITHM .get() .createSignature(BigInteger.ONE, BigInteger.TEN, (byte) 1)); @@ -272,7 +272,7 @@ public class RoundStateTest { .get(2) .createCommit( roundIdentifier, - block.getHash(), + blockHash, SIGNATURE_ALGORITHM .get() .createSignature(BigInteger.TEN, BigInteger.TEN, (byte) 1)); @@ -298,13 +298,13 @@ public class RoundStateTest { final RoundState roundState = new RoundState(roundIdentifier, 2, messageValidator); final Prepare firstPrepare = - validatorMessageFactories.get(1).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(1).createPrepare(roundIdentifier, blockHash); final Prepare secondPrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); final Prepare duplicatePrepare = - validatorMessageFactories.get(2).createPrepare(roundIdentifier, block.getHash()); + validatorMessageFactories.get(2).createPrepare(roundIdentifier, blockHash); final Proposal proposal = validatorMessageFactories diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivFindPrivacyGroup.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivFindPrivacyGroup.java index f146d9a2d..b83600892 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivFindPrivacyGroup.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivFindPrivacyGroup.java @@ -33,6 +33,7 @@ import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@SuppressWarnings("MockNotUsedInProduction") public class PrivFindPrivacyGroup implements JsonRpcMethod { private static final Logger LOG = LoggerFactory.getLogger(PrivFindPrivacyGroup.class); diff --git a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlockResult.java b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlockResult.java index 7fd3a73fc..9ca61c8b0 100644 --- a/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlockResult.java +++ b/ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/BlockResult.java @@ -84,7 +84,7 @@ public class BlockResult implements JsonRpcResult { private final String withdrawalsRoot; private final List withdrawals; - public BlockResult( + public BlockResult( final BlockHeader header, final List transactions, final List ommers, @@ -93,7 +93,7 @@ public class BlockResult implements JsonRpcResult { this(header, transactions, ommers, totalDifficulty, size, false, Optional.empty()); } - public BlockResult( + public BlockResult( final BlockHeader header, final List transactions, final List ommers, diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/AbstractDataFetcherTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/AbstractDataFetcherTest.java index 861c00cde..269cc27f0 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/AbstractDataFetcherTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/graphql/AbstractDataFetcherTest.java @@ -17,7 +17,6 @@ package org.hyperledger.besu.ethereum.api.graphql; import org.hyperledger.besu.ethereum.api.graphql.internal.pojoadapter.NormalBlockAdapter; import org.hyperledger.besu.ethereum.api.query.BlockchainQueries; import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.MutableWorldState; import org.hyperledger.besu.ethereum.p2p.rlpx.wire.Capability; import java.util.Optional; @@ -44,13 +43,10 @@ public abstract class AbstractDataFetcherTest { @Mock protected BlockHeader header; - @Mock protected MutableWorldState mutableWorldState; - @Before public void before() { final GraphQLDataFetchers fetchers = new GraphQLDataFetchers(supportedCapabilities); fetcher = fetchers.getBlockDataFetcher(); - graphQLContext.put(GraphQLContextType.BLOCKCHAIN_QUERIES, query); Mockito.when(environment.getGraphQlContext()).thenReturn(graphQLContext); } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/authentication/EngineAuthServiceTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/authentication/EngineAuthServiceTest.java index d8fb36338..6093f0e56 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/authentication/EngineAuthServiceTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/authentication/EngineAuthServiceTest.java @@ -72,7 +72,6 @@ public class EngineAuthServiceTest { @Override public void handle(final Optional event) { assertThat(event).isPresent(); - assertThat(event.get()).isNotNull(); } }; auth.authenticate(token, authHandler); diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AdminLogsRemoveCacheTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AdminLogsRemoveCacheTest.java index 0bb1f7b4d..788d31262 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AdminLogsRemoveCacheTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/AdminLogsRemoveCacheTest.java @@ -62,47 +62,24 @@ public class AdminLogsRemoveCacheTest { @Test public void testParameterized() { - when(blockchainQueries.headBlockNumber()).thenReturn(1000L); + long blockNumber = 1000L; + when(blockchainQueries.headBlockNumber()).thenReturn(blockNumber); final Object[][] testVector = { - {new String[] {}, 0L, blockchainQueries.headBlockNumber()}, + {new String[] {}, 0L, blockNumber}, {new String[] {"earliest"}, 0L, 0L}, - { - new String[] {"latest"}, - blockchainQueries.headBlockNumber(), - blockchainQueries.headBlockNumber() - }, - { - new String[] {"pending"}, - blockchainQueries.headBlockNumber(), - blockchainQueries.headBlockNumber() - }, + {new String[] {"latest"}, blockNumber, blockNumber}, + {new String[] {"pending"}, blockNumber, blockNumber}, {new String[] {"0x50"}, 0x50L, 0x50L}, {new String[] {"earliest", "earliest"}, 0L, 0L}, - {new String[] {"earliest", "latest"}, 0L, blockchainQueries.headBlockNumber()}, - { - new String[] {"latest", "latest"}, - blockchainQueries.headBlockNumber(), - blockchainQueries.headBlockNumber() - }, - { - new String[] {"pending", "latest"}, - blockchainQueries.headBlockNumber(), - blockchainQueries.headBlockNumber() - }, - {new String[] {"0x50", "latest"}, 0x50L, blockchainQueries.headBlockNumber()}, - {new String[] {"earliest", "pending"}, 0L, blockchainQueries.headBlockNumber()}, - { - new String[] {"latest", "pending"}, - blockchainQueries.headBlockNumber(), - blockchainQueries.headBlockNumber() - }, - { - new String[] {"pending", "pending"}, - blockchainQueries.headBlockNumber(), - blockchainQueries.headBlockNumber() - }, - {new String[] {"0x50", "pending"}, 0x50L, blockchainQueries.headBlockNumber()}, + {new String[] {"earliest", "latest"}, 0L, blockNumber}, + {new String[] {"latest", "latest"}, blockNumber, blockNumber}, + {new String[] {"pending", "latest"}, blockNumber, blockNumber}, + {new String[] {"0x50", "latest"}, 0x50L, blockNumber}, + {new String[] {"earliest", "pending"}, 0L, blockNumber}, + {new String[] {"latest", "pending"}, blockNumber, blockNumber}, + {new String[] {"pending", "pending"}, blockNumber, blockNumber}, + {new String[] {"0x50", "pending"}, 0x50L, blockNumber}, {new String[] {"earliest", "0x100"}, 0L, 0x100L}, {new String[] {"0x50", "0x100"}, 0x50L, 0x100L}, }; diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceTransactionTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceTransactionTest.java index edf929a6f..afa43a022 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceTransactionTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/DebugTraceTransactionTest.java @@ -31,7 +31,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.DebugTraceTran import org.hyperledger.besu.ethereum.api.jsonrpc.internal.results.StructLog; import org.hyperledger.besu.ethereum.api.query.BlockchainQueries; import org.hyperledger.besu.ethereum.api.query.TransactionWithMetadata; -import org.hyperledger.besu.ethereum.core.BlockHeader; import org.hyperledger.besu.ethereum.core.Transaction; import org.hyperledger.besu.ethereum.debug.TraceFrame; import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; @@ -56,7 +55,6 @@ public class DebugTraceTransactionTest { new DebugTraceTransaction(blockchain, transactionTracer); private final Transaction transaction = mock(Transaction.class); - private final BlockHeader blockHeader = mock(BlockHeader.class); private final Hash blockHash = Hash.fromHexString("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); private final Hash transactionHash = @@ -118,7 +116,6 @@ public class DebugTraceTransactionTest { when(transaction.getGasLimit()).thenReturn(100L); when(result.getGasRemaining()).thenReturn(27L); when(result.getOutput()).thenReturn(Bytes.fromHexString("1234")); - when(blockHeader.getNumber()).thenReturn(12L); when(blockchain.headBlockNumber()).thenReturn(12L); when(blockchain.transactionByHash(transactionHash)) .thenReturn(Optional.of(transactionWithMetadata)); @@ -183,7 +180,6 @@ public class DebugTraceTransactionTest { when(transaction.getGasLimit()).thenReturn(100L); when(result.getGasRemaining()).thenReturn(27L); when(result.getOutput()).thenReturn(Bytes.fromHexString("1234")); - when(blockHeader.getNumber()).thenReturn(12L); when(blockchain.headBlockNumber()).thenReturn(12L); when(blockchain.transactionByHash(transactionHash)).thenReturn(Optional.empty()); when(transactionTracer.traceTransaction( diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthCallTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthCallTest.java index 10d3c1be6..526434a35 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthCallTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthCallTest.java @@ -86,7 +86,7 @@ public class EthCallTest { final JsonRpcResponse expectedResponse = new JsonRpcErrorResponse(null, INTERNAL_ERROR); when(blockchainQueries.getBlockchain()).thenReturn(blockchain); - when(blockchainQueries.getBlockchain().getChainHead()).thenReturn(chainHead); + when(blockchain.getChainHead()).thenReturn(chainHead); when(transactionSimulator.process(any(), any(), any(), any())).thenReturn(Optional.empty()); final BlockHeader blockHeader = mock(BlockHeader.class); @@ -109,7 +109,7 @@ public class EthCallTest { mockTransactionProcessorSuccessResult(Bytes.of()); when(blockchainQueries.getBlockchain()).thenReturn(blockchain); - when(blockchainQueries.getBlockchain().getChainHead()).thenReturn(chainHead); + when(blockchain.getChainHead()).thenReturn(chainHead); final JsonRpcResponse response = method.response(request); @@ -124,7 +124,7 @@ public class EthCallTest { new JsonRpcSuccessResponse(null, Bytes.of(1).toString()); mockTransactionProcessorSuccessResult(Bytes.of(1)); when(blockchainQueries.getBlockchain()).thenReturn(blockchain); - when(blockchainQueries.getBlockchain().getChainHead()).thenReturn(chainHead); + when(blockchain.getChainHead()).thenReturn(chainHead); final BlockHeader blockHeader = mock(BlockHeader.class); when(blockHeader.getBaseFee()).thenReturn(Optional.of(Wei.ZERO)); @@ -142,7 +142,7 @@ public class EthCallTest { public void shouldUseCorrectBlockNumberWhenLatest() { final JsonRpcRequestContext request = ethCallRequest(callParameter(), "latest"); when(blockchainQueries.getBlockchain()).thenReturn(blockchain); - when(blockchainQueries.getBlockchain().getChainHead()).thenReturn(chainHead); + when(blockchain.getChainHead()).thenReturn(chainHead); when(transactionSimulator.process(any(), any(), any(), any())).thenReturn(Optional.empty()); final BlockHeader blockHeader = mock(BlockHeader.class); @@ -266,7 +266,7 @@ public class EthCallTest { final BlockHeader blockHeader = mock(BlockHeader.class); when(blockHeader.getBaseFee()).thenReturn(baseFee); when(blockchainQueries.getBlockchain()).thenReturn(blockchain); - when(blockchainQueries.getBlockchain().getChainHead()).thenReturn(chainHead); + when(blockchain.getChainHead()).thenReturn(chainHead); when(chainHead.getBlockHeader()).thenReturn(blockHeader); method.response(request); diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProofTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProofTest.java index abc1615aa..0aff535b5 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProofTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetProofTest.java @@ -89,9 +89,9 @@ class EthGetProofTest { void errorWhenNoAddressAccountSupplied() { final JsonRpcRequestContext request = requestWithParams(null, null, "latest"); when(blockchainQueries.getBlockchain()).thenReturn(blockchain); - when(blockchainQueries.getBlockchain().getChainHead()).thenReturn(chainHead); + when(blockchain.getChainHead()).thenReturn(chainHead); final BlockHeader blockHeader = mock(BlockHeader.class); - when(blockchainQueries.getBlockchain().getChainHead().getBlockHeader()).thenReturn(blockHeader); + when(chainHead.getBlockHeader()).thenReturn(blockHeader); when(blockHeader.getBlockHash()).thenReturn(Hash.ZERO); Assertions.assertThatThrownBy(() -> method.response(request)) @@ -103,9 +103,9 @@ class EthGetProofTest { void errorWhenNoStorageKeysSupplied() { final JsonRpcRequestContext request = requestWithParams(address.toString(), null, "latest"); when(blockchainQueries.getBlockchain()).thenReturn(blockchain); - when(blockchainQueries.getBlockchain().getChainHead()).thenReturn(chainHead); + when(blockchain.getChainHead()).thenReturn(chainHead); final BlockHeader blockHeader = mock(BlockHeader.class); - when(blockchainQueries.getBlockchain().getChainHead().getBlockHeader()).thenReturn(blockHeader); + when(chainHead.getBlockHeader()).thenReturn(blockHeader); when(blockHeader.getBlockHash()).thenReturn(Hash.ZERO); Assertions.assertThatThrownBy(() -> method.response(request)) diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetTransactionCountTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetTransactionCountTest.java index 543833926..8ec2e6bd1 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetTransactionCountTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetTransactionCountTest.java @@ -145,8 +145,8 @@ class EthGetTransactionCountTest { private void mockGetTransactionCount(final Address address, final long transactionCount) { when(blockchainQueries.getBlockchain()).thenReturn(blockchain); - when(blockchainQueries.getBlockchain().getChainHead()).thenReturn(chainHead); - when(blockchainQueries.getBlockchain().getChainHead().getHash()).thenReturn(Hash.ZERO); + when(blockchain.getChainHead()).thenReturn(chainHead); + when(chainHead.getHash()).thenReturn(Hash.ZERO); when(blockchainQueries.getTransactionCount(address, Hash.ZERO)).thenReturn(transactionCount); } } diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetWorkTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetWorkTest.java index ca9d4b221..06134ab45 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetWorkTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthGetWorkTest.java @@ -92,7 +92,8 @@ public class EthGetWorkTest { + BaseEncoding.base16() .lowerCase() .encode( - DirectAcyclicGraphSeed.dagSeed(30000, miningCoordinator.getEpochCalculator())), + DirectAcyclicGraphSeed.dagSeed( + 30000, new EpochCalculator.DefaultEpochCalculator())), "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0x7530" }; @@ -106,8 +107,8 @@ public class EthGetWorkTest { @Test public void shouldReturnCorrectResultOnHighBlockSeedEcip1099() { - when(miningCoordinator.getEpochCalculator()) - .thenReturn(new EpochCalculator.Ecip1099EpochCalculator()); + EpochCalculator epochCalculator = new EpochCalculator.Ecip1099EpochCalculator(); + when(miningCoordinator.getEpochCalculator()).thenReturn(epochCalculator); method = new EthGetWork(miningCoordinator); final JsonRpcRequestContext request = requestWithParams(); final PoWSolverInputs values = @@ -118,8 +119,7 @@ public class EthGetWorkTest { "0x" + BaseEncoding.base16() .lowerCase() - .encode( - DirectAcyclicGraphSeed.dagSeed(60000, miningCoordinator.getEpochCalculator())), + .encode(DirectAcyclicGraphSeed.dagSeed(60000, epochCalculator)), "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "0xea60" }; diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TxPoolBesuPendingTransactionsTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TxPoolBesuPendingTransactionsTest.java index f700b1a5a..d43ee4ef4 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TxPoolBesuPendingTransactionsTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/TxPoolBesuPendingTransactionsTest.java @@ -49,10 +49,11 @@ public class TxPoolBesuPendingTransactionsTest { private TxPoolBesuPendingTransactions method; private final String JSON_RPC_VERSION = "2.0"; private final String TXPOOL_PENDING_TRANSACTIONS_METHOD = "txpool_besuPendingTransactions"; + private Set listTrx; @Before public void setUp() { - final Set listTrx = getPendingTransactions(); + listTrx = getPendingTransactions(); method = new TxPoolBesuPendingTransactions(pendingTransactions); when(this.pendingTransactions.getPendingTransactions()).thenReturn(listTrx); } @@ -72,7 +73,7 @@ public class TxPoolBesuPendingTransactionsTest { final JsonRpcSuccessResponse actualResponse = (JsonRpcSuccessResponse) method.response(request); final Set result = (Set) actualResponse.getResult(); - assertThat(result.size()).isEqualTo(this.pendingTransactions.getPendingTransactions().size()); + assertThat(result.size()).isEqualTo(getPendingTransactions().size()); } @Test @@ -119,13 +120,7 @@ public class TxPoolBesuPendingTransactionsTest { final Map fromFilter = new HashMap<>(); fromFilter.put( - "eq", - pendingTransactions.getPendingTransactions().stream() - .findAny() - .get() - .getTransaction() - .getSender() - .toHexString()); + "eq", listTrx.stream().findAny().get().getTransaction().getSender().toHexString()); final JsonRpcRequestContext request = new JsonRpcRequestContext( diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayloadTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayloadTest.java index 95f56a46f..2b5b9690e 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayloadTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/AbstractEngineNewPayloadTest.java @@ -73,6 +73,7 @@ import io.vertx.core.Vertx; import org.apache.tuweni.bytes.Bytes32; import org.jetbrains.annotations.NotNull; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; @@ -360,9 +361,11 @@ public abstract class AbstractEngineNewPayloadTest { } @Test + @Ignore public void shouldRespondWithInvalidTerminalPowBlock() { // TODO: implement this as part of https://github.com/hyperledger/besu/issues/3141 - assertThat(mergeContext.getTerminalTotalDifficulty()).isNull(); + // mergeContext is a mock + // assertThat(mergeContext.getTerminalTotalDifficulty()).isNull(); } @Test diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/goquorum/GoQuorumEthGetQuorumPayloadTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/goquorum/GoQuorumEthGetQuorumPayloadTest.java index 3a1de75fd..21a466e0a 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/goquorum/GoQuorumEthGetQuorumPayloadTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/goquorum/GoQuorumEthGetQuorumPayloadTest.java @@ -38,6 +38,7 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) +@SuppressWarnings("DirectInvocationOnMock") public class GoQuorumEthGetQuorumPayloadTest { @Mock GoQuorumEthGetQuorumPayload method; diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/goquorum/GoQuorumSendRawPrivateTransactionTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/goquorum/GoQuorumSendRawPrivateTransactionTest.java index ccdd9492f..2d44f8639 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/goquorum/GoQuorumSendRawPrivateTransactionTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/goquorum/GoQuorumSendRawPrivateTransactionTest.java @@ -59,6 +59,7 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) +@SuppressWarnings("DirectInvocationOnMock") public class GoQuorumSendRawPrivateTransactionTest { static final Supplier SIGNATURE_ALGORITHM = diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivCreatePrivacyGroupTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivCreatePrivacyGroupTest.java index 4bf0e0625..3b565f9f0 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivCreatePrivacyGroupTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivCreatePrivacyGroupTest.java @@ -44,6 +44,7 @@ import org.assertj.core.util.Lists; import org.junit.Before; import org.junit.Test; +@SuppressWarnings("MockNotUsedInProduction") public class PrivCreatePrivacyGroupTest { private static final String FROM = "first participant"; diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivDeletePrivacyGroupTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivDeletePrivacyGroupTest.java index 1db8fca5e..d08c27f79 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivDeletePrivacyGroupTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivDeletePrivacyGroupTest.java @@ -19,7 +19,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import org.hyperledger.besu.enclave.Enclave; import org.hyperledger.besu.enclave.EnclaveClientException; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequestContext; @@ -28,7 +27,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; -import org.hyperledger.besu.ethereum.core.PrivacyParameters; import org.hyperledger.besu.ethereum.privacy.MultiTenancyValidationException; import org.hyperledger.besu.ethereum.privacy.PrivacyController; @@ -42,8 +40,6 @@ public class PrivDeletePrivacyGroupTest { private static final String ENCLAVE_PUBLIC_KEY = "A1aVtMxLCUHmBVHXoZzzBgPbW/wj5axDpW9X8l91SGo="; private static final String PRIVACY_GROUP_ID = "privacyGroupId"; - private final Enclave enclave = mock(Enclave.class); - private final PrivacyParameters privacyParameters = mock(PrivacyParameters.class); private final PrivacyController privacyController = mock(PrivacyController.class); private final User user = new UserImpl(new JsonObject().put("privacyPublicKey", ENCLAVE_PUBLIC_KEY), new JsonObject()); @@ -52,8 +48,6 @@ public class PrivDeletePrivacyGroupTest { @Before public void setUp() { - when(privacyParameters.getEnclave()).thenReturn(enclave); - when(privacyParameters.isEnabled()).thenReturn(true); request = new JsonRpcRequestContext( new JsonRpcRequest("1", "priv_deletePrivacyGroup", new Object[] {PRIVACY_GROUP_ID}), diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivDistributeRawTransactionTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivDistributeRawTransactionTest.java index db0d3a0ab..4976487e2 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivDistributeRawTransactionTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivDistributeRawTransactionTest.java @@ -63,7 +63,7 @@ public class PrivDistributeRawTransactionTest { new JsonObject().put("privacyPublicKey", ENCLAVE_PUBLIC_KEY), new JsonObject()) {}; private final PrivacyIdProvider privacyIdProvider = (user) -> ENCLAVE_PUBLIC_KEY; - @Mock private PrivDistributeRawTransaction method; + private PrivDistributeRawTransaction method; @Mock private PrivacyController privacyController; @Before diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivFindPrivacyGroupTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivFindPrivacyGroupTest.java index 1e02e0148..250f10638 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivFindPrivacyGroupTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivFindPrivacyGroupTest.java @@ -43,6 +43,7 @@ import org.assertj.core.util.Lists; import org.junit.Before; import org.junit.Test; +@SuppressWarnings("MockNotUsedInProduction") public class PrivFindPrivacyGroupTest { private static final String ENCLAVE_PUBLIC_KEY = VALID_BASE64_ENCLAVE_KEY.toBase64String(); private static final List ADDRESSES = diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivGetEeaTransactionCountTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivGetEeaTransactionCountTest.java index f96aa7ec6..d87d12556 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivGetEeaTransactionCountTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivGetEeaTransactionCountTest.java @@ -30,7 +30,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; -import org.hyperledger.besu.ethereum.core.PrivacyParameters; import org.hyperledger.besu.ethereum.privacy.MultiTenancyValidationException; import org.hyperledger.besu.ethereum.privacy.PrivacyController; @@ -50,7 +49,6 @@ class PrivGetEeaTransactionCountTest { "QzHuACXpfhoGAgrQriWJcDJ6MrUwcCvutKMoAn9KplQ=" }; - private final PrivacyParameters privacyParameters = mock(PrivacyParameters.class); private final PrivacyController privacyController = mock(PrivacyController.class); private JsonRpcRequestContext request; @@ -60,7 +58,6 @@ class PrivGetEeaTransactionCountTest { @BeforeEach public void setup() { - when(privacyParameters.isEnabled()).thenReturn(true); final Object[] jsonBody = new Object[] {address.toString(), ENCLAVE_PUBLIC_KEY, PRIVATE_FOR}; request = new JsonRpcRequestContext( diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivGetTransactionCountTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivGetTransactionCountTest.java index 9509b9b20..d4be2da54 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivGetTransactionCountTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/priv/PrivGetTransactionCountTest.java @@ -29,7 +29,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; -import org.hyperledger.besu.ethereum.core.PrivacyParameters; import org.hyperledger.besu.ethereum.privacy.MultiTenancyValidationException; import org.hyperledger.besu.ethereum.privacy.PrivacyController; @@ -38,7 +37,6 @@ import java.util.stream.Stream; import io.vertx.core.json.JsonObject; import io.vertx.ext.auth.User; import io.vertx.ext.auth.impl.UserImpl; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -47,7 +45,6 @@ import org.junit.jupiter.params.provider.MethodSource; class PrivGetTransactionCountTest { private static final String ENCLAVE_PUBLIC_KEY = "A1aVtMxLCUHmBVHXoZzzBgPbW/wj5axDpW9X8l91SGo="; - private final PrivacyParameters privacyParameters = mock(PrivacyParameters.class); private final PrivacyController privacyController = mock(PrivacyController.class); private static final String PRIVACY_GROUP_ID = "DyAOiF/ynpc+JXa2YAGB0bCitSlOMNm+ShmB/7M6C4w="; @@ -59,11 +56,6 @@ class PrivGetTransactionCountTest { new JsonObject().put("privacyPublicKey", ENCLAVE_PUBLIC_KEY), new JsonObject()) {}; private final PrivacyIdProvider privacyIdProvider = (user) -> ENCLAVE_PUBLIC_KEY; - @BeforeEach - public void setup() { - when(privacyParameters.isEnabled()).thenReturn(true); - } - @ParameterizedTest(name = "{index}: {1}") @MethodSource({"provideNonces"}) void verifyTransactionCount(final long nonce, final String ignoredName) { diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/privx/PrivxFindFlexiblePrivacyGroupTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/privx/PrivxFindFlexiblePrivacyGroupTest.java index 6922687eb..8dacbaabd 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/privx/PrivxFindFlexiblePrivacyGroupTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/privacy/methods/privx/PrivxFindFlexiblePrivacyGroupTest.java @@ -19,7 +19,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import org.hyperledger.besu.enclave.Enclave; import org.hyperledger.besu.enclave.EnclaveClientException; import org.hyperledger.besu.enclave.types.PrivacyGroup; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.JsonRpcRequest; @@ -29,7 +28,6 @@ import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcError; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcErrorResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcResponse; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.response.JsonRpcSuccessResponse; -import org.hyperledger.besu.ethereum.core.PrivacyParameters; import org.hyperledger.besu.ethereum.privacy.MultiTenancyValidationException; import org.hyperledger.besu.ethereum.privacy.PrivacyController; @@ -49,8 +47,6 @@ public class PrivxFindFlexiblePrivacyGroupTest { "0xfe3b557e8fb62b89f4916b721be55ceb828dbd73", "0x627306090abab3a6e1400e9345bc60c78a8bef57"); - private final Enclave enclave = mock(Enclave.class); - private final PrivacyParameters privacyParameters = mock(PrivacyParameters.class); private final PrivacyController privacyController = mock(PrivacyController.class); private final User user = @@ -63,8 +59,6 @@ public class PrivxFindFlexiblePrivacyGroupTest { @Before public void setUp() { - when(privacyParameters.getEnclave()).thenReturn(enclave); - when(privacyParameters.isEnabled()).thenReturn(true); request = new JsonRpcRequestContext( new JsonRpcRequest("1", "privx_findFlexiblePrivacyGroup", new Object[] {ADDRESSES}), diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracerTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracerTest.java index d800baa94..af79442fd 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracerTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/processor/TransactionTracerTest.java @@ -20,7 +20,6 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import org.hyperledger.besu.datatypes.Address; import org.hyperledger.besu.datatypes.Hash; import org.hyperledger.besu.ethereum.api.jsonrpc.internal.parameters.ImmutableTransactionTraceParams; import org.hyperledger.besu.ethereum.chain.BadBlockManager; @@ -170,14 +169,14 @@ public class TransactionTracerTest { when(blockBody.getTransactions()).thenReturn(Collections.singletonList(transaction)); when(blockchain.getBlockBody(blockHash)).thenReturn(Optional.of(blockBody)); - final WorldUpdater updater = mutableWorldState.updater(); - final Address coinbase = blockHeader.getCoinbase(); + final WorldUpdater updater = mock(WorldUpdater.class); + when(mutableWorldState.updater()).thenReturn(updater); when(transactionProcessor.processTransaction( eq(blockchain), eq(updater), eq(blockHeader), eq(transaction), - eq(coinbase), + eq(null), eq(tracer), any(), any(), @@ -259,13 +258,12 @@ public class TransactionTracerTest { when(mutableWorldState.updater()).thenReturn(updater); final WorldUpdater stackedUpdater = mock(StackedUpdater.class); when(updater.updater()).thenReturn(stackedUpdater); - final Address coinbase = blockHeader.getCoinbase(); when(transactionProcessor.processTransaction( eq(blockchain), eq(stackedUpdater), eq(blockHeader), eq(transaction), - eq(coinbase), + eq(null), any(StandardJsonTracer.class), any(), any(), diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/query/cache/GoQuorumPrivateTransactionLogBloomCacherTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/query/cache/GoQuorumPrivateTransactionLogBloomCacherTest.java index 136863341..199dd527f 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/query/cache/GoQuorumPrivateTransactionLogBloomCacherTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/query/cache/GoQuorumPrivateTransactionLogBloomCacherTest.java @@ -56,8 +56,8 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; -@SuppressWarnings("unused") @RunWith(MockitoJUnitRunner.class) +@SuppressWarnings({"unused", "DirectInvocationOnMock"}) public class GoQuorumPrivateTransactionLogBloomCacherTest { private static final long NUMBER_3 = 3L; diff --git a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/query/cache/TransactionLogBloomCacherTest.java b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/query/cache/TransactionLogBloomCacherTest.java index 7756c1da9..3d017bf86 100644 --- a/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/query/cache/TransactionLogBloomCacherTest.java +++ b/ethereum/api/src/test/java/org/hyperledger/besu/ethereum/api/query/cache/TransactionLogBloomCacherTest.java @@ -130,12 +130,12 @@ public class TransactionLogBloomCacherTest { createLogBloomCache(logBloom); - createBlock(3L); + final BlockHeader header = createBlock(3L); assertThat(logBloom.length()).isEqualTo(BLOOM_BITS_LENGTH * 3); transactionLogBloomCacher.cacheLogsBloomForBlockHeader( - blockchain.getBlockHeader(3).get(), Optional.empty(), Optional.of(logBloom)); + header, Optional.empty(), Optional.of(logBloom)); assertThat(logBloom.length()).isEqualTo(BLOOM_BITS_LENGTH * 4); assertThat(cacheDir.getRoot().list().length).isEqualTo(1); @@ -154,7 +154,7 @@ public class TransactionLogBloomCacherTest { } transactionLogBloomCacher.cacheLogsBloomForBlockHeader( - blockchain.getBlockHeader(4).get(), Optional.empty(), Optional.of(logBloom)); + blockHeaders.get(4), Optional.empty(), Optional.of(logBloom)); for (int i = 0; i < 5; i++) { assertThat(blockHeaders.get(i).getLogsBloom().toArray()) @@ -195,7 +195,7 @@ public class TransactionLogBloomCacherTest { } transactionLogBloomCacher.cacheLogsBloomForBlockHeader( - blockchain.getBlockHeader(4).get(), Optional.empty(), Optional.of(logBloom)); + firstBranch.get(4), Optional.empty(), Optional.of(logBloom)); assertThat(logBloom.length()).isEqualTo(BLOOM_BITS_LENGTH * 5); for (int i = 0; i < 5; i++) { assertThat(firstBranch.get(i).getLogsBloom().toArray()) @@ -210,7 +210,7 @@ public class TransactionLogBloomCacherTest { } transactionLogBloomCacher.cacheLogsBloomForBlockHeader( - blockchain.getBlockHeader(4).get(), blockchain.getBlockHeader(1), Optional.of(logBloom)); + forkBranch.get(4), Optional.of(firstBranch.get(1)), Optional.of(logBloom)); assertThat(logBloom.length()).isEqualTo(BLOOM_BITS_LENGTH * 5); for (int i = 0; i < 5; i++) { assertThat(forkBranch.get(i).getLogsBloom().toArray()) @@ -218,7 +218,7 @@ public class TransactionLogBloomCacherTest { } transactionLogBloomCacher.cacheLogsBloomForBlockHeader( - blockchain.getBlockHeader(1).get(), Optional.empty(), Optional.of(logBloom)); + forkBranch.get(1), Optional.empty(), Optional.of(logBloom)); assertThat(logBloom.length()).isEqualTo(BLOOM_BITS_LENGTH * 2); assertThat(cacheDir.getRoot().list().length).isEqualTo(1); diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPluginPrecompiledContractTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPluginPrecompiledContractTest.java index 9816de65f..b8081492a 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPluginPrecompiledContractTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPluginPrecompiledContractTest.java @@ -21,7 +21,6 @@ import static org.hyperledger.besu.ethereum.mainnet.PrivateStateUtils.KEY_PRIVAT import static org.hyperledger.besu.ethereum.mainnet.PrivateStateUtils.KEY_TRANSACTION; import static org.hyperledger.besu.ethereum.privacy.PrivateTransaction.readFrom; import static org.hyperledger.besu.ethereum.privacy.PrivateTransaction.serialize; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -40,7 +39,6 @@ import org.hyperledger.besu.ethereum.privacy.PrivateTransaction; import org.hyperledger.besu.ethereum.privacy.PrivateTransactionProcessor; import org.hyperledger.besu.ethereum.privacy.storage.PrivacyGroupHeadBlockMap; import org.hyperledger.besu.ethereum.privacy.storage.PrivateMetadataUpdater; -import org.hyperledger.besu.ethereum.privacy.storage.PrivateStateStorage; import org.hyperledger.besu.ethereum.processing.TransactionProcessingResult; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPInput; import org.hyperledger.besu.ethereum.rlp.BytesValueRLPOutput; @@ -76,8 +74,6 @@ public class PrivacyPluginPrecompiledContractTest { @Before public void setup() { - final PrivateStateStorage privateStateStorage = mock(PrivateStateStorage.class); - messageFrame = mock(MessageFrame.class); final BlockDataGenerator blockGenerator = new BlockDataGenerator(); @@ -91,8 +87,6 @@ public class PrivacyPluginPrecompiledContractTest { when(messageFrame.getContextVariable(KEY_PRIVATE_METADATA_UPDATER)) .thenReturn(mock(PrivateMetadataUpdater.class)); when(messageFrame.getBlockValues()).thenReturn(block.getHeader()); - when(privateStateStorage.getPrivacyGroupHeadBlockMap(any())) - .thenReturn(Optional.of(PrivacyGroupHeadBlockMap.empty())); final PrivateMetadataUpdater privateMetadataUpdater = mock(PrivateMetadataUpdater.class); when(messageFrame.hasContextVariable(KEY_PRIVATE_METADATA_UPDATER)).thenReturn(true); diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPrecompiledContractTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPrecompiledContractTest.java index e626b2454..81d9d7e20 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPrecompiledContractTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/mainnet/precompiles/privacy/PrivacyPrecompiledContractTest.java @@ -71,12 +71,13 @@ import org.apache.tuweni.bytes.Bytes; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +@SuppressWarnings("MockNotUsedInProduction") public class PrivacyPrecompiledContractTest { private final String actual = "Test String"; private final Bytes privateTransactionLookupId = Bytes.wrap(actual.getBytes(UTF_8)); private MessageFrame messageFrame; - private Blockchain blockchain; + private final Blockchain blockchain = mock(Blockchain.class); private final String DEFAULT_OUTPUT = "0x01"; final String PAYLOAD_TEST_PRIVACY_GROUP_ID = "8lDVI66RZHIrBsolz6Kn88Rd+WsJ4hUjb4hsh29xW/o="; private final WorldStateArchive worldStateArchive = mock(WorldStateArchive.class); @@ -121,7 +122,6 @@ public class PrivacyPrecompiledContractTest { .thenReturn(new PrivateBlockMetadata(Collections.emptyList())); messageFrame = mock(MessageFrame.class); - blockchain = mock(Blockchain.class); final BlockDataGenerator blockGenerator = new BlockDataGenerator(); final Block genesis = blockGenerator.genesisBlock(); final Block block = diff --git a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/privacy/storage/migration/PrivateStorageMigrationTest.java b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/privacy/storage/migration/PrivateStorageMigrationTest.java index 2c6612d1b..be97b9d07 100644 --- a/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/privacy/storage/migration/PrivateStorageMigrationTest.java +++ b/ethereum/core/src/test/java/org/hyperledger/besu/ethereum/privacy/storage/migration/PrivateStorageMigrationTest.java @@ -127,6 +127,7 @@ public class PrivateStorageMigrationTest { } @Test + @SuppressWarnings("DirectInvocationOnMock") public void privateGroupHeadBlocKMapIsCopiedFromPreviousBlocks() { mockBlockchainWithZeroTransactions(); @@ -186,6 +187,7 @@ public class PrivateStorageMigrationTest { } @Test + @SuppressWarnings("DirectInvocationOnMock") public void migrationReprocessBlocksWithPMT() { final Transaction privateMarkerTransaction = createPrivateMarkerTransaction(); mockBlockchainWithPrivateMarkerTransaction(privateMarkerTransaction); diff --git a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/worldstate/FastWorldStateDownloader.java b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/worldstate/FastWorldStateDownloader.java index be41f25ba..4bdbae71c 100644 --- a/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/worldstate/FastWorldStateDownloader.java +++ b/ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/worldstate/FastWorldStateDownloader.java @@ -107,8 +107,7 @@ public class FastWorldStateDownloader implements WorldStateDownloader { return failed; } - Optional checkNull = - Optional.ofNullable(fastSyncState.getPivotBlockHeader().get()); + Optional checkNull = Optional.of(fastSyncState.getPivotBlockHeader().get()); if (checkNull.isEmpty()) { LOG.error("Pivot Block not present"); final CompletableFuture failed = new CompletableFuture<>(); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/backwardsync/BackwardSyncContextTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/backwardsync/BackwardSyncContextTest.java index 61b5c235b..a85df3cdb 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/backwardsync/BackwardSyncContextTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/backwardsync/BackwardSyncContextTest.java @@ -24,6 +24,7 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import org.hyperledger.besu.config.StubGenesisConfigOptions; @@ -273,7 +274,6 @@ public class BackwardSyncContextTest { Block block = Mockito.mock(Block.class); BlockHeader blockHeader = Mockito.mock(BlockHeader.class); when(block.getHash()).thenReturn(Hash.fromHexStringLenient("0x42")); - when(block.getHeader()).thenReturn(blockHeader); when(blockHeader.getHash()).thenReturn(Hash.fromHexStringLenient("0x42")); BadChainListener badChainListener = Mockito.mock(BadChainListener.class); context.subscribeBadChainListener(badChainListener); @@ -286,7 +286,7 @@ public class BackwardSyncContextTest { backwardChain.clear(); backwardChain.prependAncestorsHeader(grandChildBlockHeader); backwardChain.prependAncestorsHeader(childBlockHeader); - backwardChain.prependAncestorsHeader(block.getHeader()); + backwardChain.prependAncestorsHeader(blockHeader); doReturn(blockValidator).when(context).getBlockValidatorForBlock(any()); BlockProcessingResult result = new BlockProcessingResult("custom error"); @@ -296,7 +296,7 @@ public class BackwardSyncContextTest { .isInstanceOf(BackwardSyncException.class) .hasMessageContaining("custom error"); - Mockito.verify(badChainListener) + verify(badChainListener) .onBadChain( block, Collections.emptyList(), List.of(childBlockHeader, grandChildBlockHeader)); } diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/checkpointsync/CheckPointSyncChainDownloaderTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/checkpointsync/CheckPointSyncChainDownloaderTest.java index 97573d983..6b61831cc 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/checkpointsync/CheckPointSyncChainDownloaderTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/checkpointsync/CheckPointSyncChainDownloaderTest.java @@ -15,7 +15,6 @@ package org.hyperledger.besu.ethereum.eth.sync.checkpointsync; import static org.assertj.core.api.Assertions.assertThat; -import static org.hyperledger.besu.ethereum.mainnet.HeaderValidationMode.LIGHT_SKIP_DETACHED; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -33,7 +32,6 @@ import org.hyperledger.besu.ethereum.eth.manager.RespondingEthPeer; import org.hyperledger.besu.ethereum.eth.sync.ChainDownloader; import org.hyperledger.besu.ethereum.eth.sync.SynchronizerConfiguration; import org.hyperledger.besu.ethereum.eth.sync.fastsync.FastSyncState; -import org.hyperledger.besu.ethereum.eth.sync.fastsync.FastSyncValidationPolicy; import org.hyperledger.besu.ethereum.eth.sync.fastsync.checkpoint.Checkpoint; import org.hyperledger.besu.ethereum.eth.sync.fastsync.checkpoint.ImmutableCheckpoint; import org.hyperledger.besu.ethereum.eth.sync.state.SyncState; @@ -57,7 +55,6 @@ import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class CheckPointSyncChainDownloaderTest { - private final FastSyncValidationPolicy validationPolicy = mock(FastSyncValidationPolicy.class); private final WorldStateStorage worldStateStorage = mock(WorldStateStorage.class); protected ProtocolSchedule protocolSchedule; @@ -84,7 +81,6 @@ public class CheckPointSyncChainDownloaderTest { @Before public void setup() { - when(validationPolicy.getValidationModeForNextBlock()).thenReturn(LIGHT_SKIP_DETACHED); when(worldStateStorage.isWorldStateAvailable(any(), any())).thenReturn(true); final BlockchainSetupUtil localBlockchainSetup = BlockchainSetupUtil.forTesting(storageFormat); localBlockchain = localBlockchainSetup.getBlockchain(); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/FastSyncActionsTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/FastSyncActionsTest.java index 9ef97f077..b5bc8168d 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/FastSyncActionsTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/FastSyncActionsTest.java @@ -15,7 +15,6 @@ package org.hyperledger.besu.ethereum.eth.sync.fastsync; import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -24,7 +23,6 @@ import org.hyperledger.besu.consensus.merge.ForkchoiceEvent; import org.hyperledger.besu.ethereum.ProtocolContext; import org.hyperledger.besu.ethereum.chain.MutableBlockchain; import org.hyperledger.besu.ethereum.core.BlockHeader; -import org.hyperledger.besu.ethereum.core.BlockHeaderFunctions; import org.hyperledger.besu.ethereum.core.BlockHeaderTestFixture; import org.hyperledger.besu.ethereum.core.BlockchainSetupUtil; import org.hyperledger.besu.ethereum.core.Difficulty; @@ -67,7 +65,6 @@ public class FastSyncActionsTest { new SynchronizerConfiguration.Builder().syncMode(SyncMode.FAST).fastSyncPivotDistance(1000); private final WorldStateStorage worldStateStorage = mock(WorldStateStorage.class); - private final FastSyncStateStorage fastSyncStateStorage = mock(FastSyncStateStorage.class); private final AtomicInteger timeoutCount = new AtomicInteger(0); private SynchronizerConfiguration syncConfig = syncConfigBuilder.build(); private FastSyncActions fastSyncActions; @@ -135,8 +132,6 @@ public class FastSyncActionsTest { @Test public void selectPivotBlockShouldUseExistingPivotBlockIfAvailable() { final BlockHeader pivotHeader = new BlockHeaderTestFixture().number(1024).buildHeader(); - when(fastSyncStateStorage.loadState(any(BlockHeaderFunctions.class))) - .thenReturn(new FastSyncState(pivotHeader)); EthProtocolManagerTestUtil.createPeer(ethProtocolManager, 5000); final CompletableFuture result = diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/FastSyncChainDownloaderTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/FastSyncChainDownloaderTest.java index c6dd65a72..efe523322 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/FastSyncChainDownloaderTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/fastsync/FastSyncChainDownloaderTest.java @@ -15,7 +15,6 @@ package org.hyperledger.besu.ethereum.eth.sync.fastsync; import static org.assertj.core.api.Assertions.assertThat; -import static org.hyperledger.besu.ethereum.mainnet.HeaderValidationMode.LIGHT_SKIP_DETACHED; import static org.hyperledger.besu.ethereum.p2p.rlpx.wire.messages.DisconnectMessage.DisconnectReason.TOO_MANY_PEERS; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -55,7 +54,6 @@ import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) public class FastSyncChainDownloaderTest { - private final FastSyncValidationPolicy validationPolicy = mock(FastSyncValidationPolicy.class); private final WorldStateStorage worldStateStorage = mock(WorldStateStorage.class); protected ProtocolSchedule protocolSchedule; @@ -81,7 +79,6 @@ public class FastSyncChainDownloaderTest { @Before public void setup() { - when(validationPolicy.getValidationModeForNextBlock()).thenReturn(LIGHT_SKIP_DETACHED); when(worldStateStorage.isWorldStateAvailable(any(), any())).thenReturn(true); final BlockchainSetupUtil localBlockchainSetup = BlockchainSetupUtil.forTesting(storageFormat); localBlockchain = localBlockchainSetup.getBlockchain(); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/SnapWorldDownloadStateTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/SnapWorldDownloadStateTest.java index be7e8dafe..3c297a520 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/SnapWorldDownloadStateTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/SnapWorldDownloadStateTest.java @@ -281,8 +281,6 @@ public class SnapWorldDownloadStateTest { public void shouldWaitingBlockchainWhenTooBehind() { when(snapSyncState.isHealInProgress()).thenReturn(true); - assertThat(snapSyncState.isWaitingBlockchain()).isFalse(); - downloadState.setDynamicPivotBlockManager(dynamicPivotBlockManager); when(dynamicPivotBlockManager.isBlockchainBehind()).thenReturn(true); diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/worldstate/WorldStatePeerTrieNodeFinderTest.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/worldstate/WorldStatePeerTrieNodeFinderTest.java index 502774a99..c6bf38de4 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/worldstate/WorldStatePeerTrieNodeFinderTest.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/sync/worldstate/WorldStatePeerTrieNodeFinderTest.java @@ -15,7 +15,6 @@ package org.hyperledger.besu.ethereum.eth.sync.worldstate; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; @@ -30,8 +29,6 @@ import org.hyperledger.besu.ethereum.eth.EthProtocolVersion; import org.hyperledger.besu.ethereum.eth.manager.EthPeers; import org.hyperledger.besu.ethereum.eth.manager.EthProtocolManager; import org.hyperledger.besu.ethereum.eth.manager.EthProtocolManagerTestUtil; -import org.hyperledger.besu.ethereum.eth.manager.PeerRequest; -import org.hyperledger.besu.ethereum.eth.manager.RequestManager; import org.hyperledger.besu.ethereum.eth.manager.RespondingEthPeer; import org.hyperledger.besu.ethereum.eth.manager.snap.SnapProtocolManager; import org.hyperledger.besu.ethereum.eth.manager.task.SnapProtocolManagerTestUtil; @@ -66,9 +63,6 @@ public class WorldStatePeerTrieNodeFinderTest { private EthProtocolManager ethProtocolManager; private SnapProtocolManager snapProtocolManager; private EthPeers ethPeers; - private final PeerRequest peerRequest = mock(PeerRequest.class); - private final RequestManager.ResponseStream responseStream = - mock(RequestManager.ResponseStream.class); @Before public void setup() throws Exception { diff --git a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNodeList.java b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNodeList.java index 46b9274ee..b49dc0561 100644 --- a/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNodeList.java +++ b/ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/TestNodeList.java @@ -176,7 +176,7 @@ public class TestNodeList implements Closeable { checkNotNull(expected); checkArgument( expected.length == nodes.size(), - "Expected values for sd nodes, but got %s.", + "Expected values for %s nodes, but got %s.", expected.length, nodes.size()); int errCnt = 0; diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/DataStoreModule.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/DataStoreModule.java index 7a1b639a1..a2ce12caa 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/DataStoreModule.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/DataStoreModule.java @@ -84,6 +84,7 @@ public class DataStoreModule { @Provides @Singleton @Named("worldStatePreimage") + @SuppressWarnings("UnusedVariable") KeyValueStorage provideWorldStatePreimageKeyValueStorage( @Named("KeyValueStorageName") final String keyValueStorageName, final BesuConfiguration commonConfiguration, diff --git a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/GenesisFileModule.java b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/GenesisFileModule.java index 55b4e7e83..f2eebd945 100644 --- a/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/GenesisFileModule.java +++ b/ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/GenesisFileModule.java @@ -63,6 +63,7 @@ public class GenesisFileModule { @Singleton @Provides + @SuppressWarnings("UnusedVariable") HeaderBasedProtocolSchedule provideProtocolSchedule( final GenesisConfigOptions configOptions, @Named("Fork") final Optional fork, diff --git a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/DeFramerTest.java b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/DeFramerTest.java index 232b33c65..8ddb5b656 100644 --- a/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/DeFramerTest.java +++ b/ethereum/p2p/src/test/java/org/hyperledger/besu/ethereum/p2p/rlpx/connections/netty/DeFramerTest.java @@ -353,7 +353,7 @@ public class DeFramerTest { when(framer.deframe(any())) .thenReturn(new RawMessage(helloMessage.getCode(), helloMessage.getData())) .thenReturn(null); - when(ctx.channel().remoteAddress()).thenReturn(null); + when(channel.remoteAddress()).thenReturn(null); final ChannelFuture future = NettyMocks.channelFuture(true); when(ctx.writeAndFlush(any())).thenReturn(future); final List out = new ArrayList<>(); diff --git a/ethereum/referencetests/src/reference-test/external-resources b/ethereum/referencetests/src/reference-test/external-resources index 69c4c2a98..638da7ca7 160000 --- a/ethereum/referencetests/src/reference-test/external-resources +++ b/ethereum/referencetests/src/reference-test/external-resources @@ -1 +1 @@ -Subproject commit 69c4c2a98dc8a712d4c6f5a817da4f21ff719006 +Subproject commit 638da7ca7b2ca371ebb33d7d7d2562981aafd9b2 diff --git a/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/RLPDecodingHelpers.java b/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/RLPDecodingHelpers.java index 670a6b83f..f53931ba6 100644 --- a/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/RLPDecodingHelpers.java +++ b/ethereum/rlp/src/main/java/org/hyperledger/besu/ethereum/rlp/RLPDecodingHelpers.java @@ -171,7 +171,7 @@ class RLPDecodingHelpers { final Kind kind; // The type of rlp element final long elementStart; // The index at which this element starts final long payloadStart; // The index at which the payload of this element starts - final int payloadSize; // The size of the paylod + final int payloadSize; // The size of the payload RLPElementMetadata( final Kind kind, final long elementStart, final long payloadStart, final int payloadSize) { @@ -182,6 +182,8 @@ class RLPDecodingHelpers { } /** + * The size of the byte string holding the rlp-encoded value and metadata + * * @return the size of the byte string holding the rlp-encoded value and metadata */ int getEncodedSize() { diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index a4842eaf5..8208a4bf8 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -133,6 +133,11 @@ + + + + + @@ -158,6 +163,11 @@ + + + + + @@ -193,6 +203,11 @@ + + + + + @@ -218,6 +233,11 @@ + + + + + @@ -255,6 +275,17 @@ + + + + + + + + + + + @@ -285,6 +316,17 @@ + + + + + + + + + + + @@ -317,6 +359,17 @@ + + + + + + + + + + + @@ -328,11 +381,27 @@ + + + + + + + + + + + + + + + + @@ -349,6 +418,17 @@ + + + + + + + + + + + @@ -375,6 +455,11 @@ + + + + + @@ -725,6 +810,14 @@ + + + + + + + + @@ -733,6 +826,11 @@ + + + + + @@ -789,6 +887,14 @@ + + + + + + + + @@ -818,6 +924,14 @@ + + + + + + + + @@ -834,6 +948,14 @@ + + + + + + + + @@ -842,6 +964,14 @@ + + + + + + + + @@ -862,6 +992,11 @@ + + + + + @@ -875,6 +1010,14 @@ + + + + + + + + @@ -883,6 +1026,14 @@ + + + + + + + + @@ -1047,6 +1198,11 @@ + + + + + @@ -1063,6 +1219,14 @@ + + + + + + + + @@ -1081,6 +1245,11 @@ + + + + + @@ -1248,6 +1417,17 @@ + + + + + + + + + + + @@ -1608,6 +1788,14 @@ + + + + + + + + @@ -1616,11 +1804,24 @@ + + + + + + + + + + + + + @@ -1629,6 +1830,14 @@ + + + + + + + + @@ -2470,11 +2679,24 @@ + + + + + + + + + + + + + @@ -3388,6 +3610,14 @@ + + + + + + + + @@ -3396,6 +3626,14 @@ + + + + + + + + @@ -3420,6 +3658,14 @@ + + + + + + + + @@ -3428,6 +3674,14 @@ + + + + + + + + @@ -3479,6 +3733,14 @@ + + + + + + + + diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 09652055b..79b325236 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -21,8 +21,8 @@ dependencyManagement { entry 'antlr4-runtime' } - dependency 'com.fasterxml.jackson.core:jackson-databind:2.13.4.2' - dependencySet(group:'com.fasterxml.jackson.core', version:'2.13.4') { + dependencySet(group:'com.fasterxml.jackson.core', version:'2.14.1') { + entry 'jackson-databind' entry 'jackson-datatype' entry 'jackson-datatype-jdk8' } @@ -41,7 +41,7 @@ dependencyManagement { entry'dagger' } - dependencySet(group: 'com.google.errorprone', version: '2.14.0') { + dependencySet(group: 'com.google.errorprone', version: '2.18.0') { entry 'error_prone_annotation' entry 'error_prone_check_api' entry 'error_prone_core' @@ -71,7 +71,7 @@ dependencyManagement { entry 'grpc-stub' } - dependency 'io.kubernetes:client-java:15.0.1' + dependency 'io.kubernetes:client-java:17.0.0' dependency 'io.netty:netty-all:4.1.78.Final' dependency 'io.netty:netty-tcnative-boringssl-static:2.0.50.Final' diff --git a/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBKeyValuePrivacyStorageFactoryTest.java b/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBKeyValuePrivacyStorageFactoryTest.java index d786f9322..7106b1ad4 100644 --- a/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBKeyValuePrivacyStorageFactoryTest.java +++ b/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBKeyValuePrivacyStorageFactoryTest.java @@ -67,17 +67,11 @@ public class RocksDBKeyValuePrivacyStorageFactoryTest { // Side effect is creation of the Metadata version file storageFactory.create(segment, commonConfiguration, metricsSystem); - assertThat(DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()).maybePrivacyVersion()) - .isNotEmpty(); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).maybePrivacyVersion()).isNotEmpty(); - assertThat(DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()).getVersion()) - .isEqualTo(0); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).getVersion()).isEqualTo(0); - assertThat( - DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()) - .maybePrivacyVersion() - .get()) - .isEqualTo(0); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).maybePrivacyVersion().get()).isEqualTo(0); } @Test @@ -98,16 +92,11 @@ public class RocksDBKeyValuePrivacyStorageFactoryTest { // Side effect is creation of the Metadata version file storageFactory.create(segment, commonConfiguration, metricsSystem); - assertThat(DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()).maybePrivacyVersion()) - .isNotEmpty(); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).maybePrivacyVersion()).isNotEmpty(); - assertThat(DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()).getVersion()) - .isEqualTo(DEFAULT_VERSION); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).getVersion()).isEqualTo(DEFAULT_VERSION); - assertThat( - DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()) - .maybePrivacyVersion() - .get()) + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).maybePrivacyVersion().get()) .isEqualTo(DEFAULT_PRIVACY_VERSION); } @@ -125,24 +114,18 @@ public class RocksDBKeyValuePrivacyStorageFactoryTest { storageFactory.create(segment, commonConfiguration, metricsSystem); - assertThat(DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()).maybePrivacyVersion()) - .isEmpty(); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).maybePrivacyVersion()).isEmpty(); - assertThat(DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()).getVersion()) - .isEqualTo(DEFAULT_VERSION); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).getVersion()).isEqualTo(DEFAULT_VERSION); final RocksDBKeyValuePrivacyStorageFactory privacyStorageFactory = new RocksDBKeyValuePrivacyStorageFactory(storageFactory); privacyStorageFactory.create(segment, commonConfiguration, metricsSystem); - assertThat(DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()).maybePrivacyVersion()) - .isNotEmpty(); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).maybePrivacyVersion()).isNotEmpty(); - assertThat( - DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()) - .maybePrivacyVersion() - .get()) + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).maybePrivacyVersion().get()) .isEqualTo(DEFAULT_PRIVACY_VERSION); } } diff --git a/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBKeyValueStorageFactoryTest.java b/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBKeyValueStorageFactoryTest.java index 156ac5116..7499675b6 100644 --- a/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBKeyValueStorageFactoryTest.java +++ b/plugins/rocksdb/src/test/java/org/hyperledger/besu/plugin/services/storage/rocksdb/RocksDBKeyValueStorageFactoryTest.java @@ -67,8 +67,7 @@ public class RocksDBKeyValueStorageFactoryTest { // Side effect is creation of the Metadata version file storageFactory.create(segment, commonConfiguration, metricsSystem); - assertThat(DatabaseMetadata.lookUpFrom(commonConfiguration.getDataPath()).getVersion()) - .isEqualTo(DEFAULT_VERSION); + assertThat(DatabaseMetadata.lookUpFrom(tempDataDir).getVersion()).isEqualTo(DEFAULT_VERSION); } @Test