apptesting

package
v5.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2023 License: Apache-2.0 Imports: 19 Imported by: 0

README

  • The unit testing framework leverages the ibctesting package
  • See ibc-go/testing for an overview

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	StrideChainID = "STRIDE"

	TestIcaVersion = string(icatypes.ModuleCdc.MustMarshalJSON(&icatypes.Metadata{
		Version:                icatypes.Version,
		ControllerConnectionId: ibctesting.FirstConnectionID,
		HostConnectionId:       ibctesting.FirstConnectionID,
		Encoding:               icatypes.EncodingProtobuf,
		TxType:                 icatypes.TxTypeSDKMultiMsg,
	}))
)

Functions

func CopyConnectionAndClientToPath

func CopyConnectionAndClientToPath(path *ibctesting.Path, pathToCopy *ibctesting.Path) *ibctesting.Path

In ibctesting, there's no easy way to create a new channel on an existing connection To get around this, this helper function will copy the client/connection info from an existing channel We use this when creating ICA channels, because we want to reuse the same connections/clients from the transfer channel

func CreateRandomAccounts

func CreateRandomAccounts(numAccts int) []sdk.AccAddress

Generate random account addresss

func GenerateTestAddrs

func GenerateTestAddrs() (string, string)

Generates a valid and invalid test address (used for non-keeper tests)

func ICAPacketAcknowledgement

func ICAPacketAcknowledgement(t *testing.T, msgType string, msgResponses []proto.Message) channeltypes.Acknowledgement

Constructs an ICA Packet Acknowledgement compatible with ibc-go v5+

func ICAPacketAcknowledgementLegacy

func ICAPacketAcknowledgementLegacy(t *testing.T, msgType string, msgResponses []proto.Message) channeltypes.Acknowledgement

Constructs an legacy ICA Packet Acknowledgement compatible with ibc-go version v4 and lower

func NewIcaPath

func NewIcaPath(chainA *ibctesting.TestChain, chainB *ibctesting.TestChain) *ibctesting.Path

Creates an ICA channel between two chains

func NewTransferPath

func NewTransferPath(chainA *ibctesting.TestChain, chainB *ibctesting.TestChain) *ibctesting.Path

Creates a transfer channel between two chains

func SetupConfig

func SetupConfig()

Modifies sdk config to have stride address prefixes (used for non-keeper tests)

Types

type AppTestHelper

type AppTestHelper struct {
	suite.Suite

	App     *app.StrideApp
	HostApp *simapp.SimApp

	IbcEnabled   bool
	Coordinator  *ibctesting.Coordinator
	StrideChain  *ibctesting.TestChain
	HostChain    *ibctesting.TestChain
	TransferPath *ibctesting.Path

	QueryHelper  *baseapp.QueryServiceTestHelper
	TestAccs     []sdk.AccAddress
	IcaAddresses map[string]string
	Ctx          sdk.Context
}

func (*AppTestHelper) CompareCoins

func (s *AppTestHelper) CompareCoins(expectedCoin sdk.Coin, actualCoin sdk.Coin, msg string)

Helper function to compare coins with a more legible error

func (*AppTestHelper) ConfirmUpgradeSucceededs

func (s *AppTestHelper) ConfirmUpgradeSucceededs(upgradeName string, upgradeHeight int64)

func (*AppTestHelper) CreateICAChannel

func (s *AppTestHelper) CreateICAChannel(owner string) string

Creates an ICA channel through ibctesting Also creates a transfer channel is if hasn't been done yet

func (*AppTestHelper) CreateTransferChannel

func (s *AppTestHelper) CreateTransferChannel(hostChainID string)

Creates clients, connections, and a transfer channel between stride and a host chain

func (*AppTestHelper) FundAccount

func (s *AppTestHelper) FundAccount(acc sdk.AccAddress, amount sdk.Coin)

Mints and sends coins to a user account

func (*AppTestHelper) FundModuleAccount

func (s *AppTestHelper) FundModuleAccount(moduleName string, amount sdk.Coin)

Mints coins directly to a module account

func (*AppTestHelper) GetIBCDenomTrace

func (s *AppTestHelper) GetIBCDenomTrace(denom string) transfertypes.DenomTrace

Get an IBC denom from it's native host denom This assumes the transfer channel is channel-0

func (*AppTestHelper) MarshalledICS20PacketData

func (s *AppTestHelper) MarshalledICS20PacketData() sdk.AccAddress

func (*AppTestHelper) RegisterInterchainAccount

func (s *AppTestHelper) RegisterInterchainAccount(endpoint *ibctesting.Endpoint, owner string)

Register's a new ICA account on the next channel available This function assumes a connection already exists

func (*AppTestHelper) Setup

func (s *AppTestHelper) Setup()

AppTestHelper Constructor

func (*AppTestHelper) SetupIBCChains

func (s *AppTestHelper) SetupIBCChains(hostChainID string)

Initializes a ibctesting coordinator to keep track of Stride and a host chain's state

Jump to

Keyboard shortcuts

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