 Documentation
      ¶
      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.