Search in sources :

Example 1 with FULL

use of org.hyperledger.besu.ethereum.mainnet.HeaderValidationMode.FULL in project besu by hyperledger.

the class FastImportBlocksStepTest method shouldImportBlocks.

@Test
public void shouldImportBlocks() {
    final List<Block> blocks = gen.blockSequence(5);
    final List<BlockWithReceipts> blocksWithReceipts = blocks.stream().map(block -> new BlockWithReceipts(block, gen.receipts(block))).collect(toList());
    for (final BlockWithReceipts blockWithReceipts : blocksWithReceipts) {
        when(blockImporter.fastImportBlock(protocolContext, blockWithReceipts.getBlock(), blockWithReceipts.getReceipts(), FULL, LIGHT)).thenReturn(true);
    }
    importBlocksStep.accept(blocksWithReceipts);
    for (final BlockWithReceipts blockWithReceipts : blocksWithReceipts) {
        verify(protocolSchedule).getByBlockNumber(blockWithReceipts.getNumber());
    }
    verify(validationPolicy, times(blocks.size())).getValidationModeForNextBlock();
}
Also used : ArgumentMatchers.anyLong(org.mockito.ArgumentMatchers.anyLong) BlockWithReceipts(org.hyperledger.besu.ethereum.core.BlockWithReceipts) Mock(org.mockito.Mock) RunWith(org.junit.runner.RunWith) Mockito.times(org.mockito.Mockito.times) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) FULL(org.hyperledger.besu.ethereum.mainnet.HeaderValidationMode.FULL) LIGHT(org.hyperledger.besu.ethereum.mainnet.HeaderValidationMode.LIGHT) Collections.singletonList(java.util.Collections.singletonList) Mockito.verify(org.mockito.Mockito.verify) ValidationPolicy(org.hyperledger.besu.ethereum.eth.sync.ValidationPolicy) InvalidBlockException(org.hyperledger.besu.ethereum.eth.sync.tasks.exceptions.InvalidBlockException) ProtocolSchedule(org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule) BlockDataGenerator(org.hyperledger.besu.ethereum.core.BlockDataGenerator) Collectors.toList(java.util.stream.Collectors.toList) List(java.util.List) Assertions.assertThatThrownBy(org.assertj.core.api.Assertions.assertThatThrownBy) ProtocolContext(org.hyperledger.besu.ethereum.ProtocolContext) Block(org.hyperledger.besu.ethereum.core.Block) ProtocolSpec(org.hyperledger.besu.ethereum.mainnet.ProtocolSpec) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) BlockImporter(org.hyperledger.besu.ethereum.core.BlockImporter) Before(org.junit.Before) Block(org.hyperledger.besu.ethereum.core.Block) BlockWithReceipts(org.hyperledger.besu.ethereum.core.BlockWithReceipts) Test(org.junit.Test)

Aggregations

Collections.singletonList (java.util.Collections.singletonList)1 List (java.util.List)1 Collectors.toList (java.util.stream.Collectors.toList)1 Assertions.assertThatThrownBy (org.assertj.core.api.Assertions.assertThatThrownBy)1 ProtocolContext (org.hyperledger.besu.ethereum.ProtocolContext)1 Block (org.hyperledger.besu.ethereum.core.Block)1 BlockDataGenerator (org.hyperledger.besu.ethereum.core.BlockDataGenerator)1 BlockImporter (org.hyperledger.besu.ethereum.core.BlockImporter)1 BlockWithReceipts (org.hyperledger.besu.ethereum.core.BlockWithReceipts)1 ValidationPolicy (org.hyperledger.besu.ethereum.eth.sync.ValidationPolicy)1 InvalidBlockException (org.hyperledger.besu.ethereum.eth.sync.tasks.exceptions.InvalidBlockException)1 FULL (org.hyperledger.besu.ethereum.mainnet.HeaderValidationMode.FULL)1 LIGHT (org.hyperledger.besu.ethereum.mainnet.HeaderValidationMode.LIGHT)1 ProtocolSchedule (org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule)1 ProtocolSpec (org.hyperledger.besu.ethereum.mainnet.ProtocolSpec)1 Before (org.junit.Before)1 Test (org.junit.Test)1 RunWith (org.junit.runner.RunWith)1 ArgumentMatchers.anyLong (org.mockito.ArgumentMatchers.anyLong)1 Mock (org.mockito.Mock)1