Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RequireGenericNodesDoneBefore ¶ added in v0.17.0
func RequireGenericNodesDoneBefore(t testing.TB, duration time.Duration, nodes ...*GenericNode)
RequireGenericNodesDoneBefore invokes the done method of all input generic nodes concurrently, and fails the test if any generic node's shutdown takes longer than the specified duration.
Types ¶
type CollectionNode ¶
type CollectionNode struct { GenericNode Collections storage.Collections Transactions storage.Transactions IngestionEngine *collectioningest.Engine PusherEngine *pusher.Engine ProviderEngine *provider.Engine }
CollectionNode implements an in-process collection node for tests.
type ComputerWrap ¶ added in v0.10.0
type ComputerWrap struct { *computation.Manager OnComputeBlock func(ctx context.Context, block *entity.ExecutableBlock, view fvmState.View) }
func (*ComputerWrap) ComputeBlock ¶ added in v0.10.0
func (c *ComputerWrap) ComputeBlock( ctx context.Context, block *entity.ExecutableBlock, view fvmState.View, ) (*execution.ComputationResult, error)
type ConsensusNode ¶
type ConsensusNode struct { GenericNode Guarantees mempool.Guarantees Receipts mempool.ExecutionTree Seals mempool.IncorporatedResultSeals IngestionEngine *consensusingest.Engine SealingEngine *sealing.Engine MatchingEngine *matching.Engine }
ConsensusNode implements an in-process consensus node for tests.
func (ConsensusNode) Done ¶ added in v0.10.0
func (cn ConsensusNode) Done()
func (ConsensusNode) Ready ¶ added in v0.10.0
func (cn ConsensusNode) Ready()
type ExecutionNode ¶
type ExecutionNode struct { GenericNode MutableState protocol.MutableState IngestionEngine *ingestion.Engine ExecutionEngine *ComputerWrap RequestEngine *requester.Engine ReceiptsEngine *executionprovider.Engine FollowerEngine *followereng.Engine SyncEngine *synchronization.Engine DiskWAL *wal.DiskWAL BadgerDB *badger.DB VM *fvm.VirtualMachine ExecutionState state.ExecutionState Ledger ledger.Ledger LevelDbDir string Collections storage.Collections Finalizer *consensus.Finalizer MyExecutionReceipts storage.MyExecutionReceipts }
ExecutionNode implements a mocked execution node for tests.
func (ExecutionNode) AssertHighestExecutedBlock ¶
func (en ExecutionNode) AssertHighestExecutedBlock(t *testing.T, header *flow.Header)
func (ExecutionNode) Done ¶
func (en ExecutionNode) Done()
func (ExecutionNode) Ready ¶
func (en ExecutionNode) Ready()
type GenericNode ¶
type GenericNode struct { Log zerolog.Logger Metrics *metrics.NoopCollector Tracer module.Tracer DB *badger.DB Headers storage.Headers Identities storage.Identities Guarantees storage.Guarantees Seals storage.Seals Payloads storage.Payloads Blocks storage.Blocks State protocol.MutableState Index storage.Index Me module.Local Net *stub.Network DBDir string ChainID flow.ChainID ProtocolEvents *events.Distributor }
GenericNode implements a generic in-process node for tests.
func (*GenericNode) CloseDB ¶
func (g *GenericNode) CloseDB() error
CloseDB closes the badger database of the node
func (*GenericNode) Done ¶
func (g *GenericNode) Done()
type StateFixture ¶ added in v0.14.0
type StateFixture struct { DB *badger.DB Storage *storage.All DBDir string ProtocolEvents *events.Distributor State protocol.MutableState }
StateFixture is a test helper struct that encapsulates a flow protocol state as well as all of its backend dependencies.
type VerificationNode ¶
type VerificationNode struct { *GenericNode CachedReceipts mempool.ReceiptDataPacks ReadyReceipts mempool.ReceiptDataPacks // TODO: backward compatibility, remove once new verification node is active. PendingReceipts mempool.ReceiptDataPacks // TODO: backward compatibility, remove once new verification node is active. PendingResults mempool.ResultDataPacks // TODO: backward compatibility, remove once new verification node is active. ChunkStatuses mempool.ChunkStatuses ChunkRequests mempool.ChunkRequests ProcessedResultIDs mempool.Identifiers // TODO: backward compatibility, remove once new verification node is active. DiscardedResultIDs mempool.Identifiers // TODO: backward compatibility, remove once new verification node is active. BlockIDsCache mempool.Identifiers // TODO: backward compatibility, remove once new verification node is active. Results storage.ExecutionResults Receipts storage.ExecutionReceipts PendingReceiptIDsByBlock mempool.IdentifierMap // TODO: backward compatibility, remove once new verification node is active. ReceiptIDsByResult mempool.IdentifierMap // TODO: backward compatibility, remove once new verification node is active. ChunkIDsByResult mempool.IdentifierMap // TODO: backward compatibility, remove once new verification node is active. // chunk consumer and processor for fetcher engine ProcessedChunkIndex storage.ConsumerProgress ChunksQueue *bstorage.ChunksQueue ChunkConsumer *chunkconsumer.ChunkConsumer // block consumer for chunk consumer ProcessedBlockHeight storage.ConsumerProgress BlockConsumer *blockconsumer.BlockConsumer PendingChunks *match.Chunks // TODO: backward compatibility, remove once new verification node is active. VerifierEngine *verifier.Engine FinderEngine *finder.Engine // TODO: backward compatibility, remove once new verification node is active. MatchEngine network.Engine // TODO: backward compatibility, remove once new verification node is active. AssignerEngine *assigner.Engine FetcherEngine *fetcher.Engine RequesterEngine *verificationrequester.Engine }
VerificationNode implements an in-process verification node for tests.