engine

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2019 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// EnableHarness a test CLI param to enable harness bootstrapping
	EnableHarness = flag.Bool("enable", false, "Enable Test Harness bootstrapping")
	// RPCNetworkType a test CLI param to set jsonrpc network type (unix or tcp)
	RPCNetworkType = flag.String("rpc_transport", "unix", "JSON-RPC transport type (unix/tcp)")
	// KeepAlive a test CLI param to keep harness running even after all  tests have passed
	// It's useful when additional manual tests should be done
	KeepAlive = flag.Bool("keepalive", false, "Keep Test Harness alive after tests pass")

	// Errors
	// ErrDisabledHarness
	ErrDisabledHarness = errors.New("disabled test harness")
)

Functions

func ConstructWireFrame

func ConstructWireFrame(magic protocol.Magic, cmd topics.Topic, payload *bytes.Buffer) ([]byte, error)

func Profile1

func Profile1(index int, node *DuskNode, walletPath string)

Profile1 builds the default dusk.toml definition

func Profile2

func Profile2(index int, node *DuskNode, walletPath string)

Profile2 builds dusk.toml with lite driver enabled (suitable for bench testing)

func WriteFrame

func WriteFrame(buf *bytes.Buffer) (*bytes.Buffer, error)

TODO: remove *bytes.Buffer from the returned parameters

Types

type DuskNode

type DuskNode struct {
	Id              string
	ConfigProfileID string

	// fields represents a dusk-blockchain instance
	Cfg config.Registry
	Gql *graphql.Client

	// dusk-blockchain node directory
	Dir string
}

func NewDuskNode

func NewDuskNode(gqlPort, nodeID string, profileID string) *DuskNode

type Network

type Network struct {
	Nodes []*DuskNode
	// contains filtered or unexported fields
}

func (*Network) Bootstrap

func (n *Network) Bootstrap(workspace string) error

Bootstrap performs all actions needed to initialize and start a local network This network is alive by the end of all tests execution

func (*Network) PublishTopic

func (n *Network) PublishTopic(nodeIndex uint, topic, payload string) error

PublishTopic publishes an event bus topic to the specified node via rpc call

func (*Network) SendCommand

func (n *Network) SendCommand(nodeIndex uint, method string, params []string) (string, error)

SendCommand sends a jsonrpc request to the specified network node. Returns a string with the response of the json-rpc server.

func (*Network) SendQuery

func (n *Network) SendQuery(nodeIndex uint, query string, result interface{}) error

SendQuery sends a graphql query to the specified network node

func (*Network) SendWireMsg

func (n *Network) SendWireMsg(nodeIndex uint, msg []byte, writeTimeout int) error

SendWireMsg sends a P2P message to the specified network node NB: Handshaking procedure must be performed prior to the message sending

func (*Network) Teardown

func (n *Network) Teardown()

type Profiles

type Profiles map[string]func(index int, node *DuskNode, walletPath string)

Jump to

Keyboard shortcuts

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