mock

package
v0.38.0-preview.0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2024 License: AGPL-3.0 Imports: 45 Imported by: 4

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
	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     *executionIngest.Core
	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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL