Documentation ¶
Index ¶
- Constants
- func FillBlocks(ctx context.Context, cctx testnode.Context, accounts []string, ...) chan error
- type Config
- type Option
- type Swamp
- func (s *Swamp) Connect(t *testing.T, peerA, peerB peer.ID)
- func (s *Swamp) Disconnect(t *testing.T, peerA, peerB peer.ID)
- func (s *Swamp) GetCoreBlockHashByHeight(ctx context.Context, height int64) libhead.Hash
- func (s *Swamp) NewBridgeNode(options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) NewFullNode(options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) NewLightNode(options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) NewNodeWithConfig(nodeType node.Type, cfg *nodebuilder.Config, options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) NewNodeWithStore(t node.Type, store nodebuilder.Store, options ...fx.Option) *nodebuilder.Node
- func (s *Swamp) RemoveNode(n *nodebuilder.Node, t node.Type) error
- func (s *Swamp) WaitTillHeight(ctx context.Context, height int64) libhead.Hash
Constants ¶
const DefaultTestTimeout = time.Minute * 5
DefaultTestTimeout should be used as the default timout on all the Swamp tests. It's generously set to 5 minutes to give enough time for CI.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
*core.TestConfig
}
Config struct represents a set of pre-requisite attributes from the test scenario
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig creates a elysium-app instance with a block time of around 100ms
type Option ¶
type Option func(*Config)
Option for modifying Swamp's Config.
func WithBlockTime ¶
WithBlockTime sets a custom interval for block creation.
type Swamp ¶
type Swamp struct { Network mocknet.Mocknet BridgeNodes []*nodebuilder.Node FullNodes []*nodebuilder.Node LightNodes []*nodebuilder.Node ClientContext testnode.Context Accounts []string // contains filtered or unexported fields }
Swamp represents the main functionality that is needed for the test-case: - Network to link the nodes - CoreClient to share between Bridge nodes - Slices of created Bridge/Full/Light Nodes - trustedHash taken from the CoreClient and shared between nodes
func (*Swamp) Disconnect ¶
Disconnect allows to break a connection between two peers without any possibility to re-establish it. Order is very important here. We have to unlink peers first, and only after that call disconnect. This is hard disconnect and peers will not be able to reconnect. In order to reconnect peers again, please use swamp.Connect
func (*Swamp) GetCoreBlockHashByHeight ¶
GetCoreBlockHashByHeight returns a tendermint block's hash by provided height
func (*Swamp) NewBridgeNode ¶
func (s *Swamp) NewBridgeNode(options ...fx.Option) *nodebuilder.Node
NewBridgeNode creates a new instance of a BridgeNode providing a default config and a mockstore to the NewNodeWithStore method
func (*Swamp) NewFullNode ¶
func (s *Swamp) NewFullNode(options ...fx.Option) *nodebuilder.Node
NewFullNode creates a new instance of a FullNode providing a default config and a mockstore to the NewNodeWithStore method
func (*Swamp) NewLightNode ¶
func (s *Swamp) NewLightNode(options ...fx.Option) *nodebuilder.Node
NewLightNode creates a new instance of a LightNode providing a default config and a mockstore to the NewNodeWithStore method
func (*Swamp) NewNodeWithConfig ¶
func (s *Swamp) NewNodeWithConfig(nodeType node.Type, cfg *nodebuilder.Config, options ...fx.Option) *nodebuilder.Node
func (*Swamp) NewNodeWithStore ¶
func (s *Swamp) NewNodeWithStore( t node.Type, store nodebuilder.Store, options ...fx.Option, ) *nodebuilder.Node
NewNodeWithStore creates a new instance of Node with predefined Store. Afterwards, the instance is stored in the swamp's Nodes' slice according to the node's type provided from the user.
func (*Swamp) RemoveNode ¶
RemoveNode removes a node from the swamp's node slice this allows reusage of the same var in the test scenario if the user needs to stop and start the same node