Documentation ¶
Index ¶
- Constants
- func AssertBlockOrderAndHeight(t *testing.T, h *Harness, order, total, height uint64)
- func AssertMempoolTxNotify(t *testing.T, h *Harness, txid, addr string, timeout int)
- func AssertScan(t *testing.T, h *Harness, maxOrder, scanCount uint64)
- func AssertTxConfirm(t *testing.T, h *Harness, txid string, confirms uint64)
- func AssertTxMinedUseNotifierAPI(t *testing.T, h *Harness, txId *hash.Hash, blockHash *hash.Hash)
- func AssertTxMinedUseSerializedBlock(t *testing.T, h *Harness, txId *hash.Hash, blockHash *hash.Hash)
- func AssertTxNotConfirm(t *testing.T, h *Harness, txid string)
- func CanNotSpend(t *testing.T, h *Harness, amt types.Amount, preOutpoint *types.TxOutPoint, ...) (*hash.Hash, types.Address)
- func GenerateBlock(t *testing.T, h *Harness, num uint64) []*hash.Hash
- func Spend(t *testing.T, h *Harness, amt types.Amount, preOutpoint *types.TxOutPoint, ...) (*hash.Hash, types.Address)
- func TearDownAll() error
- func TimeoutFunc(t *testing.T, f func() bool, timeout int)
- type Client
- func (c *Client) BlockCount() (uint64, error)
- func (c *Client) BlockTotal() (uint64, error)
- func (c *Client) Call(result interface{}, method string, args ...interface{}) error
- func (c *Client) CallWithContext(ctx context.Context, result interface{}, method string, args ...interface{}) error
- func (c *Client) Generate(num uint64) ([]*hash.Hash, error)
- func (c *Client) GetBlock(h *hash.Hash) (*json.BlockVerboseResult, error)
- func (c *Client) GetSerializedBlock(h *hash.Hash) (*types.SerializedBlock, error)
- func (c *Client) MainHeight() (uint64, error)
- func (c *Client) NodeInfo() (json.InfoNodeResult, error)
- func (c *Client) SendRawTx(txHex string, allowHighFees bool) (*hash.Hash, error)
- type Complex
- type EchoResult
- type Harness
- func (h *Harness) Id() string
- func (h *Harness) NotifyNewTransactions(verbose bool) error
- func (h *Harness) NotifyTxsByAddr(reload bool, addr []string, outpoint []cmds.OutPoint) error
- func (h *Harness) NotifyTxsConfirmed(txs []cmds.TxConfirm) error
- func (h *Harness) Rescan(beginBlock, endBlock uint64, addrs []string, op []cmds.OutPoint) error
- func (h *Harness) Setup() error
- func (h *Harness) Teardown() error
- type TestService
Constants ¶
const DefaultMaxRpcConnRetries = 10
Variables ¶
This section is empty.
Functions ¶
func AssertBlockOrderAndHeight ¶
AssertBlockOrderAndHeight will verify the current block order, total block number and current main-chain height of the appointed test harness and assert it ok or cause the test failed.
func AssertMempoolTxNotify ¶
func AssertTxMinedUseSerializedBlock ¶
func AssertTxMinedUseSerializedBlock(t *testing.T, h *Harness, txId *hash.Hash, blockHash *hash.Hash)
TODO, order and height not work for the SerializedBlock
func AssertTxNotConfirm ¶ added in v0.10.6
func CanNotSpend ¶
func CanNotSpend(t *testing.T, h *Harness, amt types.Amount, preOutpoint *types.TxOutPoint, lockTime *int64) (*hash.Hash, types.Address)
Spend amount from the wallet of the test harness and return tx hash
func GenerateBlock ¶
GenerateBlock will generate a number of blocks by the input number for the appointed test harness. It will return the hashes of the generated blocks or an error
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents a connection to an RPC server.
func Dial ¶
Dial connects to a JSON-RPC server at the specified url, return a new client which can perform rpc Call. the context controls the entire lifetime of the client.
func (*Client) BlockCount ¶
func (*Client) BlockTotal ¶
func (*Client) CallWithContext ¶
func (c *Client) CallWithContext(ctx context.Context, result interface{}, method string, args ...interface{}) error
CallWithContext performs a JSON-RPC call with the given arguments and unmarshalls into result if no error occurred.
func (*Client) GetSerializedBlock ¶
TODO, the SerializedBlock not work for order and height
func (*Client) MainHeight ¶
type EchoResult ¶
type Harness ¶
type Harness struct { // the qitmeer node process Node *node // the rpc client to the qitmeer node in the Harness instance. Client *Client // Notifier use rpc/client with web-socket notification support // TODO refactor & merge two rpc clients to the single one in the future. Notifier *client.Client // a simple in-memory test wallet works for the test harness node. // aka the wallet of the coinbase miner of the node of the harness // instance. Wallet *testWallet // contains filtered or unexported fields }
Harness manage an embedded qitmeer node process for running the rpc driven integration tests. The active qitmeer node will typically be run in privnet mode in order to allow for easy block generation. Harness handles the node start/shutdown and any temporary directories need to be created.
func NewHarness ¶
NewHarness func creates an new instance of test harness with provided network params. The args is the arguments list that are used when setup a qitmeer node. In the most case, it should be set to nil if no extra args need to add on the default starting up.
func (*Harness) NotifyNewTransactions ¶
Register NotifyNewTransactions
func (*Harness) NotifyTxsByAddr ¶
Register Addrs Filter
func (*Harness) NotifyTxsConfirmed ¶
Register NotifyTxsConfirmed
type TestService ¶
type TestService struct{}
A dummy service for integrated-test of the rpc client with the test Harness
func (*TestService) Echo ¶
func (s *TestService) Echo(str string, i int, comp *Complex) EchoResult
The Echo service will echo the input to the uppercase and return back