Documentation ¶
Index ¶
- func RequireGenericNodesDoneBefore(t testing.TB, duration time.Duration, nodes ...*GenericNode)
- type CollectionNode
- type ConsensusNode
- type ExecutionNode
- func (en ExecutionNode) AssertBlockIsExecuted(t *testing.T, header *flow.Header)
- func (en ExecutionNode) AssertBlockNotExecuted(t *testing.T, header *flow.Header)
- func (en ExecutionNode) AssertHighestExecutedBlock(t *testing.T, header *flow.Header)
- func (en ExecutionNode) Done(cancelFunc context.CancelFunc)
- func (en ExecutionNode) Ready(ctx context.Context)
- type GenericNode
- type StateFixture
- type VerificationNode
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 ClusterPayloads storage.ClusterPayloads TxPools *epochpool.TransactionPools Voter module.ClusterRootQCVoter IngestionEngine *collectioningest.Engine PusherEngine *pusher.Engine ProviderEngine *provider.Engine EpochManagerEngine *epochmgr.Engine }
CollectionNode implements an in-process collection node for tests.
func (CollectionNode) Done ¶ added in v0.20.0
func (n CollectionNode) Done() <-chan struct{}
func (CollectionNode) Ready ¶ added in v0.20.0
func (n CollectionNode) Ready() <-chan struct{}
func (CollectionNode) Start ¶ added in v0.29.0
func (n CollectionNode) Start(t *testing.T)
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 FollowerState protocol.FollowerState IngestionEngine *ingestion.Engine ExecutionEngine *computation.Manager RequestEngine *requester.Engine ReceiptsEngine *executionprovider.Engine FollowerCore module.HotStuffFollower FollowerEngine *followereng.ComplianceEngine SyncEngine *synchronization.Engine Compactor *complete.Compactor BadgerDB *badger.DB VM fvm.VM ExecutionState state.ExecutionState Ledger ledger.Ledger LevelDbDir string Collections storage.Collections Finalizer *consensus.Finalizer MyExecutionReceipts storage.MyExecutionReceipts StorehouseEnabled bool }
ExecutionNode implements a mocked execution node for tests.
func (ExecutionNode) AssertBlockIsExecuted ¶ added in v0.33.1
func (en ExecutionNode) AssertBlockIsExecuted(t *testing.T, header *flow.Header)
func (ExecutionNode) AssertBlockNotExecuted ¶ added in v0.33.1
func (en ExecutionNode) AssertBlockNotExecuted(t *testing.T, header *flow.Header)
func (ExecutionNode) AssertHighestExecutedBlock ¶
func (en ExecutionNode) AssertHighestExecutedBlock(t *testing.T, header *flow.Header)
func (ExecutionNode) Done ¶
func (en ExecutionNode) Done(cancelFunc context.CancelFunc)
func (ExecutionNode) Ready ¶
func (en ExecutionNode) Ready(ctx context.Context)
type GenericNode ¶
type GenericNode struct { // context and cancel function used to start/stop components Ctx irrecoverable.SignalerContext Cancel context.CancelFunc Errs <-chan error Log zerolog.Logger Metrics *metrics.NoopCollector Tracer module.Tracer PublicDB *badger.DB SecretsDB *badger.DB Headers storage.Headers Guarantees storage.Guarantees Seals storage.Seals Payloads storage.Payloads Blocks storage.Blocks QuorumCertificates storage.QuorumCertificates Results storage.ExecutionResults Setups storage.EpochSetups EpochCommits storage.EpochCommits EpochProtocolState storage.EpochProtocolStateEntries ProtocolKVStore storage.ProtocolKVStore State protocol.ParticipantState 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 { DBDir string PublicDB *badger.DB SecretsDB *badger.DB Storage *storage.All ProtocolEvents *events.Distributor State protocol.ParticipantState }
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 ChunkStatuses mempool.ChunkStatuses ChunkRequests mempool.ChunkRequests Results storage.ExecutionResults Receipts storage.ExecutionReceipts // 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 VerifierEngine *verifier.Engine AssignerEngine *assigner.Engine FetcherEngine *fetcher.Engine RequesterEngine *verificationrequester.Engine }
VerificationNode implements an in-process verification node for tests.