mock

package
v0.29.16-height-coordi... Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2023 License: AGPL-3.0 Imports: 48 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 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
	FollowerCore        module.HotStuffFollower
	FollowerEngine      *followereng.Engine
	SyncEngine          *synchronization.Engine
	Compactor           *complete.Compactor
	BadgerDB            *badger.DB
	VM                  computer.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(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
	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 {
	DBDir          string
	PublicDB       *badger.DB
	SecretsDB      *badger.DB
	Storage        *storage.All
	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
	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