test

package
v0.9.6 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 2020 License: AGPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateIDs

func CreateIDs(count int) []*flow.Identity

helper offers a set of functions that are shared among different tests CreateIDs creates and initializes count-many flow identifiers instancesd

func GenerateNetworkingKey

func GenerateNetworkingKey(s flow.Identifier) (crypto.PrivateKey, error)

GenerateNetworkingKey generates a Flow ECDSA key using the given seed

Types

type ConduitSendWrapperFunc

type ConduitSendWrapperFunc func(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error

ConduitSendWrapperFunc is a wrapper around the set of methods offered by the Conduit (e.g., Publish). This data type is solely introduced at the test level. Its primary purpose is to make the same test reusable on different Conduit methods.

type ConduitWrapper

type ConduitWrapper struct{}

func (*ConduitWrapper) Multicast

func (c *ConduitWrapper) Multicast(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error

Multicast defines a function that receives a message, conduit of an engine instance, and a set of target ID. It then sends the message to the target IDs using the Multicast method of conduit.

func (*ConduitWrapper) Publish

func (c *ConduitWrapper) Publish(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error

Publish defines a function that receives a message, conduit of an engine instance, and a set target IDs. It then sends the message to the target IDs using the Publish method of conduit.

func (*ConduitWrapper) Submit

func (c *ConduitWrapper) Submit(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error

Submit defines a function that receives a message, conduit of an engine instance, and a set of target IDa. It then sends the message to the target IDs using the Submit method of conduit.

func (*ConduitWrapper) Unicast

func (c *ConduitWrapper) Unicast(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error

Unicast defines a function that receives a message, conduit of an engine instance, and a set of target IDs. It then sends the message to the target IDs using individual Unicasts to each target in the underlying network.

type EchoEngine

type EchoEngine struct {
	sync.Mutex
	// contains filtered or unexported fields
}

EchoEngine is a simple engine that is used for testing the correctness of driving the engines with libp2p, in addition to receiving and storing incoming messages it also echos them back

func NewEchoEngine

func NewEchoEngine(t *testing.T, net module.Network, cap int, engineID string, echo bool, send ConduitSendWrapperFunc) *EchoEngine

func (*EchoEngine) Process

func (te *EchoEngine) Process(originID flow.Identifier, event interface{}) error

Process receives an originID and an event and casts them into the corresponding fields of the EchoEngine. It then flags the received channel on reception of an event. It also sends back an echo of the message to the origin ID

func (*EchoEngine) ProcessLocal

func (te *EchoEngine) ProcessLocal(event interface{}) error

ProcessLocal is implemented for a valid type assertion to Engine any call to it fails the test

func (*EchoEngine) Submit

func (te *EchoEngine) Submit(originID flow.Identifier, event interface{})

Submit is implemented for a valid type assertion to Engine any call to it fails the test

func (*EchoEngine) SubmitLocal

func (te *EchoEngine) SubmitLocal(event interface{})

SubmitLocal is implemented for a valid type assertion to Engine any call to it fails the test

type MeshEngine

type MeshEngine struct {
	// contains filtered or unexported fields
}

MeshEngine is a simple engine that is used for testing the correctness of driving the engines with libp2p, it simply receives and stores the incoming messages

func NewMeshEngine

func NewMeshEngine(t *testing.T, net module.Network, cap int, engineID string) *MeshEngine

func (*MeshEngine) Process

func (e *MeshEngine) Process(originID flow.Identifier, event interface{}) error

Process receives an originID and an event and casts them into the corresponding fields of the MeshEngine. It then flags the received channel on reception of an event.

func (*MeshEngine) ProcessLocal

func (e *MeshEngine) ProcessLocal(event interface{}) error

ProcessLocal is implemented for a valid type assertion to Engine any call to it fails the test

func (*MeshEngine) Submit

func (e *MeshEngine) Submit(originID flow.Identifier, event interface{})

Submit is implemented for a valid type assertion to Engine any call to it fails the test

func (*MeshEngine) SubmitLocal

func (e *MeshEngine) SubmitLocal(event interface{})

SubmitLocal is implemented for a valid type assertion to Engine any call to it fails the test

type SnapshotMock

type SnapshotMock struct {
	// contains filtered or unexported fields
}

func (*SnapshotMock) Clusters

func (s *SnapshotMock) Clusters() (*flow.ClusterList, error)

func (*SnapshotMock) Head

func (s *SnapshotMock) Head() (*flow.Header, error)

func (*SnapshotMock) Identities

func (s *SnapshotMock) Identities(filters ...flow.IdentityFilter) (flow.IdentityList, error)

func (*SnapshotMock) Identity

func (s *SnapshotMock) Identity(nodeID flow.Identifier) (*flow.Identity, error)

func (*SnapshotMock) Seal

func (s *SnapshotMock) Seal() (flow.Seal, error)

Jump to

Keyboard shortcuts

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