Documentation ¶
Index ¶
- func LetNodesDiscoverEachOther(t *testing.T, ctx context.Context, nodes []p2p.LibP2PNode, ...)
- func NetworkingKeyFixtures(t *testing.T) crypto.PrivateKey
- func NodeFixture(t *testing.T, sporkID flow.Identifier, dhtPrefix string, ...) (p2p.LibP2PNode, flow.Identity)
- func NodesFixture(t *testing.T, sporkID flow.Identifier, dhtPrefix string, count int, ...) ([]p2p.LibP2PNode, flow.IdentityList)
- func StartNode(t *testing.T, ctx irrecoverable.SignalerContext, node p2p.LibP2PNode, ...)
- func StartNodes(t *testing.T, ctx irrecoverable.SignalerContext, nodes []p2p.LibP2PNode, ...)
- func StopNode(t *testing.T, node p2p.LibP2PNode, cancel context.CancelFunc, ...)
- func StopNodes(t *testing.T, nodes []p2p.LibP2PNode, cancel context.CancelFunc, ...)
- func StreamHandlerFixture(t *testing.T) (func(s network.Stream), chan string)
- type NodeFixtureParameterOption
- func WithAppSpecificScore(score func(peer.ID) float64) NodeFixtureParameterOption
- func WithConnectionGater(connGater connmgr.ConnectionGater) NodeFixtureParameterOption
- func WithDHTOptions(opts ...dht.Option) NodeFixtureParameterOption
- func WithDefaultStreamHandler(handler network.StreamHandler) NodeFixtureParameterOption
- func WithLogger(logger zerolog.Logger) NodeFixtureParameterOption
- func WithNetworkingAddress(address string) NodeFixtureParameterOption
- func WithNetworkingPrivateKey(key crypto.PrivateKey) NodeFixtureParameterOption
- func WithPeerManagerEnabled(connectionPruning bool, updateInterval time.Duration, ...) NodeFixtureParameterOption
- func WithPeerScoringEnabled(idProvider module.IdentityProvider) NodeFixtureParameterOption
- func WithPreferredUnicasts(unicasts []unicast.ProtocolName) NodeFixtureParameterOption
- func WithRole(role flow.Role) NodeFixtureParameterOption
- type NodeFixtureParameters
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LetNodesDiscoverEachOther ¶
func LetNodesDiscoverEachOther(t *testing.T, ctx context.Context, nodes []p2p.LibP2PNode, ids flow.IdentityList)
LetNodesDiscoverEachOther connects all nodes to each other on the pubsub mesh.
func NetworkingKeyFixtures ¶
func NetworkingKeyFixtures(t *testing.T) crypto.PrivateKey
NetworkingKeyFixtures is a test helper that generates a ECDSA flow key pair.
func NodeFixture ¶
func NodeFixture( t *testing.T, sporkID flow.Identifier, dhtPrefix string, opts ...NodeFixtureParameterOption, ) (p2p.LibP2PNode, flow.Identity)
NodeFixture is a test fixture that creates a single libp2p node with the given key, spork id, and options. It returns the node and its identity.
func NodesFixture ¶
func NodesFixture(t *testing.T, sporkID flow.Identifier, dhtPrefix string, count int, opts ...NodeFixtureParameterOption) ([]p2p.LibP2PNode, flow.IdentityList)
NodesFixture is a test fixture that creates a number of libp2p nodes with the given callback function for stream handling. It returns the nodes and their identities.
func StartNode ¶
func StartNode(t *testing.T, ctx irrecoverable.SignalerContext, node p2p.LibP2PNode, timeout time.Duration)
StartNode start a single node using the provided context, timing out if nodes are not all Ready() before duration expires
func StartNodes ¶
func StartNodes(t *testing.T, ctx irrecoverable.SignalerContext, nodes []p2p.LibP2PNode, timeout time.Duration)
StartNodes start all nodes in the input slice using the provided context, timing out if nodes are not all Ready() before duration expires
func StopNode ¶
func StopNode(t *testing.T, node p2p.LibP2PNode, cancel context.CancelFunc, timeout time.Duration)
StopNode stops a single node using the provided cancel func, timing out if nodes are not all Done() before duration expires
func StopNodes ¶
func StopNodes(t *testing.T, nodes []p2p.LibP2PNode, cancel context.CancelFunc, timeout time.Duration)
StopNodes stops all nodes in the input slice using the provided cancel func, timing out if nodes are not all Done() before duration expires
Types ¶
type NodeFixtureParameterOption ¶
type NodeFixtureParameterOption func(*NodeFixtureParameters)
func WithAppSpecificScore ¶
func WithAppSpecificScore(score func(peer.ID) float64) NodeFixtureParameterOption
func WithConnectionGater ¶
func WithConnectionGater(connGater connmgr.ConnectionGater) NodeFixtureParameterOption
func WithDHTOptions ¶
func WithDHTOptions(opts ...dht.Option) NodeFixtureParameterOption
func WithDefaultStreamHandler ¶
func WithDefaultStreamHandler(handler network.StreamHandler) NodeFixtureParameterOption
func WithLogger ¶
func WithLogger(logger zerolog.Logger) NodeFixtureParameterOption
func WithNetworkingAddress ¶
func WithNetworkingAddress(address string) NodeFixtureParameterOption
func WithNetworkingPrivateKey ¶
func WithNetworkingPrivateKey(key crypto.PrivateKey) NodeFixtureParameterOption
func WithPeerManagerEnabled ¶
func WithPeerManagerEnabled(connectionPruning bool, updateInterval time.Duration, peerProvider p2p.PeersProvider) NodeFixtureParameterOption
func WithPeerScoringEnabled ¶
func WithPeerScoringEnabled(idProvider module.IdentityProvider) NodeFixtureParameterOption
func WithPreferredUnicasts ¶
func WithPreferredUnicasts(unicasts []unicast.ProtocolName) NodeFixtureParameterOption
func WithRole ¶
func WithRole(role flow.Role) NodeFixtureParameterOption
type NodeFixtureParameters ¶
type NodeFixtureParameters struct { HandlerFunc network.StreamHandler Unicasts []unicast.ProtocolName Key crypto.PrivateKey Address string DhtOptions []dht.Option Role flow.Role Logger zerolog.Logger PeerScoringEnabled bool IdProvider module.IdentityProvider AppSpecificScore func(peer.ID) float64 // overrides GossipSub scoring for sake of testing. ConnectionPruning bool // peer manager parameter UpdateInterval time.Duration // peer manager parameter PeerProvider p2p.PeersProvider // peer manager parameter ConnGater connmgr.ConnectionGater GossipSubFactory p2pbuilder.GossipSubFactoryFunc GossipSubConfig p2pbuilder.GossipSubAdapterConfigFunc }