testing

package
v0.6.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2022 License: MIT Imports: 46 Imported by: 0

Documentation

Index

Constants

View Source
const LogConsole = true

Variables

View Source
var DefaultLogLevels = config.LogLevel{}.
	Parse(config.DefaultLogLevels).
	String()
View Source
var FakeBvn = MustParseUrl("acc://bvn0")

Functions

func AcmeLiteAddress

func AcmeLiteAddress(pubKey []byte) *url.URL

AcmeLiteAddress creates an ACME lite address for the given key. FOR TESTING USE ONLY.

func AcmeLiteAddressStdPriv

func AcmeLiteAddressStdPriv(key ed25519.PrivateKey) *url.URL

func AcmeLiteAddressTmPriv

func AcmeLiteAddressTmPriv(key tmcrypto.PrivKey) *url.URL

func AddCredits

func AddCredits(db DB, account *url.URL, credits float64) error

func BuildTestTokenTxGenTx

func BuildTestTokenTxGenTx(sponsor ed25519.PrivateKey, destAddr string, amount uint64) (*protocol.Envelope, error)

func CreateADI

func CreateADI(db DB, key tmed25519.PrivKey, urlStr types.String) error

func CreateAdiWithCredits

func CreateAdiWithCredits(db DB, key tmed25519.PrivKey, urlStr types.String, credits float64) error

func CreateKeyBook

func CreateKeyBook(db DB, urlStr types.String, publicKey ...tmed25519.PubKey) error

func CreateKeyPage

func CreateKeyPage(db DB, bookUrlStr types.String, keys ...tmed25519.PubKey) error

func CreateLiteTokenAccount

func CreateLiteTokenAccount(db DB, key tmed25519.PrivKey, tokens float64) error

func CreateLiteTokenAccountWithCredits

func CreateLiteTokenAccountWithCredits(db DB, key tmed25519.PrivKey, tokens, credits float64) error

func CreateSubADI added in v0.5.1

func CreateSubADI(db DB, originUrlStr types.String, urlStr types.String) error

func CreateTestNet

func CreateTestNet(t *testing.T, numBvns, numValidators, numFollowers int) ([]string, map[string][]*accumulated.Daemon)

func CreateTokenAccount

func CreateTokenAccount(db DB, accUrl, tokenUrl string, tokens float64, lite bool) error

func CreateTokenIssuer

func CreateTokenIssuer(db DB, urlStr, symbol string, precision uint64, supplyLimit *big.Int) error

func DefaultConfig

func DefaultConfig(net config.NetworkType, node config.NodeType, netId string) *config.Config

func EnableDebugFeatures added in v0.6.0

func EnableDebugFeatures()

func GenerateKey

func GenerateKey(seed ...interface{}) ed25519.PrivateKey

func GenerateTmKey added in v0.5.1

func GenerateTmKey(seed ...interface{}) tmed25519.PrivKey

func GetIP

func GetIP() net.IP

func GetIPs

func GetIPs(n int) []net.IP

func MustParseUrl

func MustParseUrl(s string) *url.URL

func NewTestLogger added in v0.6.0

func NewTestLogger(t testing.TB) log.Logger

func RunTestNet

func RunTestNet(t *testing.T, subnets []string, daemons map[string][]*accumulated.Daemon)

func SkipCI

func SkipCI(t testing.TB, reason string)

SkipCI skips a test when running in CI.

func SkipLong

func SkipLong(t testing.TB)

SkipLong skips a long test when running in -short mode.

func SkipPlatform

func SkipPlatform(t testing.TB, goos, reason string)

SkipPlatform skips a test when on a specific GOOS.

func SkipPlatformCI

func SkipPlatformCI(t testing.TB, goos, reason string)

SkipPlatformCI skips a test when running in CI on a specific GOOS.

func UpdateKeyPage added in v0.5.1

func UpdateKeyPage(db DB, account *url.URL, fn func(*protocol.KeyPage)) error

func WriteStates

func WriteStates(db DB, chains ...protocol.Account) error

Types

type BatchTest added in v0.6.0

type BatchTest struct {
	*testing.T
	*database.Batch
}

func NewBatchTest added in v0.6.0

func NewBatchTest(t *testing.T, beginner DbBeginner) BatchTest

func (*BatchTest) AddSignature added in v0.6.0

func (t *BatchTest) AddSignature(txnHash []byte, sig protocol.Signature)

func (*BatchTest) GetSignatures added in v0.6.0

func (t *BatchTest) GetSignatures(txnHash []byte, signer *url.URL) *database.SignatureSet

func (*BatchTest) GetTxnStatus added in v0.6.0

func (t *BatchTest) GetTxnStatus(txnHash []byte) *protocol.TransactionStatus

func (*BatchTest) PutAccount added in v0.6.0

func (t *BatchTest) PutAccount(account protocol.Account)

func (*BatchTest) PutAccountCopy added in v0.6.0

func (t *BatchTest) PutAccountCopy(account protocol.Account) protocol.Account

func (BatchTest) Run added in v0.6.0

func (t BatchTest) Run(name string, run func(BatchTest))

type DB

type DB = *database.Batch

type DbBeginner added in v0.6.0

type DbBeginner interface {
	Begin(bool) *database.Batch
}

type FakeAccount added in v0.6.0

type FakeAccount struct {
	FakeLiteAccount
	protocol.AccountAuth
	// contains filtered or unexported fields
}

func (*FakeAccount) Copy added in v0.6.0

func (v *FakeAccount) Copy() *FakeAccount

func (*FakeAccount) CopyAsInterface added in v0.6.0

func (v *FakeAccount) CopyAsInterface() interface{}

func (*FakeAccount) Equal added in v0.6.0

func (v *FakeAccount) Equal(u *FakeAccount) bool

func (*FakeAccount) GetAuth added in v0.6.0

func (f *FakeAccount) GetAuth() *protocol.AccountAuth

func (*FakeAccount) IsValid added in v0.6.0

func (v *FakeAccount) IsValid() error

func (*FakeAccount) MarshalBinary added in v0.6.0

func (v *FakeAccount) MarshalBinary() ([]byte, error)

func (*FakeAccount) UnmarshalBinary added in v0.6.0

func (v *FakeAccount) UnmarshalBinary(data []byte) error

func (*FakeAccount) UnmarshalBinaryFrom added in v0.6.0

func (v *FakeAccount) UnmarshalBinaryFrom(rd io.Reader) error

type FakeAuthority added in v0.6.0

type FakeAuthority struct {
	FakeAccount
	Signers *url.URL `json:"signers,omitempty" form:"signers" query:"signers" validate:"required"`
	// contains filtered or unexported fields
}

func (*FakeAuthority) Copy added in v0.6.0

func (v *FakeAuthority) Copy() *FakeAuthority

func (*FakeAuthority) CopyAsInterface added in v0.6.0

func (v *FakeAuthority) CopyAsInterface() interface{}

func (*FakeAuthority) Equal added in v0.6.0

func (v *FakeAuthority) Equal(u *FakeAuthority) bool

func (*FakeAuthority) IsValid added in v0.6.0

func (v *FakeAuthority) IsValid() error

func (*FakeAuthority) MarshalBinary added in v0.6.0

func (v *FakeAuthority) MarshalBinary() ([]byte, error)

func (*FakeAuthority) UnmarshalBinary added in v0.6.0

func (v *FakeAuthority) UnmarshalBinary(data []byte) error

func (*FakeAuthority) UnmarshalBinaryFrom added in v0.6.0

func (v *FakeAuthority) UnmarshalBinaryFrom(rd io.Reader) error

type FakeLiteAccount added in v0.6.0

type FakeLiteAccount struct {
	TheType protocol.AccountType `json:"theType,omitempty" form:"theType" query:"theType" validate:"required"`
	Url     *url.URL             `json:"url,omitempty" form:"url" query:"url" validate:"required"`
	// contains filtered or unexported fields
}

func (*FakeLiteAccount) Copy added in v0.6.0

func (v *FakeLiteAccount) Copy() *FakeLiteAccount

func (*FakeLiteAccount) CopyAsInterface added in v0.6.0

func (v *FakeLiteAccount) CopyAsInterface() interface{}

func (*FakeLiteAccount) Equal added in v0.6.0

func (v *FakeLiteAccount) Equal(u *FakeLiteAccount) bool

func (*FakeLiteAccount) GetUrl added in v0.6.0

func (f *FakeLiteAccount) GetUrl() *url.URL

func (*FakeLiteAccount) IsValid added in v0.6.0

func (v *FakeLiteAccount) IsValid() error

func (*FakeLiteAccount) MarshalBinary added in v0.6.0

func (v *FakeLiteAccount) MarshalBinary() ([]byte, error)

func (*FakeLiteAccount) Type added in v0.6.0

func (*FakeLiteAccount) UnmarshalBinary added in v0.6.0

func (v *FakeLiteAccount) UnmarshalBinary(data []byte) error

func (*FakeLiteAccount) UnmarshalBinaryFrom added in v0.6.0

func (v *FakeLiteAccount) UnmarshalBinaryFrom(rd io.Reader) error

type FakeSignature added in v0.6.0

type FakeSignature struct {
	TheType       protocol.SignatureType `json:"theType,omitempty" form:"theType" query:"theType" validate:"required"`
	Vote          protocol.VoteType      `json:"vote,omitempty" form:"vote" query:"vote" validate:"required"`
	PublicKey     []byte                 `json:"publicKey,omitempty" form:"publicKey" query:"publicKey" validate:"required"`
	Signer        *url.URL               `json:"signer,omitempty" form:"signer" query:"signer" validate:"required"`
	SignerVersion uint64                 `json:"signerVersion,omitempty" form:"signerVersion" query:"signerVersion" validate:"required"`
	Timestamp     uint64                 `json:"timestamp,omitempty" form:"timestamp" query:"timestamp"`
	// contains filtered or unexported fields
}

func (*FakeSignature) Copy added in v0.6.0

func (v *FakeSignature) Copy() *FakeSignature

func (*FakeSignature) CopyAsInterface added in v0.6.0

func (v *FakeSignature) CopyAsInterface() interface{}

func (*FakeSignature) Equal added in v0.6.0

func (v *FakeSignature) Equal(u *FakeSignature) bool

func (*FakeSignature) GetPublicKey added in v0.6.0

func (f *FakeSignature) GetPublicKey() []byte

func (*FakeSignature) GetPublicKeyHash added in v0.6.0

func (f *FakeSignature) GetPublicKeyHash() []byte

func (*FakeSignature) GetSignature added in v0.6.0

func (f *FakeSignature) GetSignature() []byte

func (*FakeSignature) GetSigner added in v0.6.0

func (f *FakeSignature) GetSigner() *url.URL

func (*FakeSignature) GetSignerVersion added in v0.6.0

func (f *FakeSignature) GetSignerVersion() uint64

func (*FakeSignature) GetTimestamp added in v0.6.0

func (f *FakeSignature) GetTimestamp() uint64

func (*FakeSignature) GetTransactionHash added in v0.6.0

func (f *FakeSignature) GetTransactionHash() [32]byte

func (*FakeSignature) GetVote added in v0.6.0

func (f *FakeSignature) GetVote() protocol.VoteType

func (*FakeSignature) Hash added in v0.6.0

func (f *FakeSignature) Hash() []byte

func (*FakeSignature) InitiatorHash

func (f *FakeSignature) InitiatorHash() ([]byte, error)

func (*FakeSignature) IsValid added in v0.6.0

func (v *FakeSignature) IsValid() error

func (*FakeSignature) MarshalBinary added in v0.6.0

func (v *FakeSignature) MarshalBinary() ([]byte, error)

func (*FakeSignature) MarshalJSON added in v0.6.0

func (v *FakeSignature) MarshalJSON() ([]byte, error)

func (*FakeSignature) MetadataHash

func (f *FakeSignature) MetadataHash() []byte

func (*FakeSignature) Type added in v0.6.0

func (*FakeSignature) UnmarshalBinary added in v0.6.0

func (v *FakeSignature) UnmarshalBinary(data []byte) error

func (*FakeSignature) UnmarshalBinaryFrom added in v0.6.0

func (v *FakeSignature) UnmarshalBinaryFrom(rd io.Reader) error

func (*FakeSignature) UnmarshalJSON added in v0.6.0

func (v *FakeSignature) UnmarshalJSON(data []byte) error

func (*FakeSignature) Verify added in v0.6.0

func (f *FakeSignature) Verify(hash []byte) bool

type FakeSigner added in v0.6.0

type FakeSigner struct {
	FakeLiteAccount
	CreditBalance uint64              `json:"creditBalance,omitempty" form:"creditBalance" query:"creditBalance" validate:"required"`
	Threshold     uint64              `json:"threshold,omitempty" form:"threshold" query:"threshold" validate:"required"`
	Version       uint64              `json:"version,omitempty" form:"version" query:"version" validate:"required"`
	Keys          []*protocol.KeySpec `json:"keys,omitempty" form:"keys" query:"keys" validate:"required"`
	// contains filtered or unexported fields
}

func (*FakeSigner) CanDebitCredits added in v0.6.0

func (f *FakeSigner) CanDebitCredits(amount uint64) bool

func (*FakeSigner) Copy added in v0.6.0

func (v *FakeSigner) Copy() *FakeSigner

func (*FakeSigner) CopyAsInterface added in v0.6.0

func (v *FakeSigner) CopyAsInterface() interface{}

func (*FakeSigner) CreditCredits added in v0.6.0

func (f *FakeSigner) CreditCredits(amount uint64)

func (*FakeSigner) DebitCredits added in v0.6.0

func (f *FakeSigner) DebitCredits(amount uint64) bool

func (*FakeSigner) EntryByKey added in v0.6.0

func (f *FakeSigner) EntryByKey(key []byte) (int, protocol.KeyEntry, bool)

func (*FakeSigner) EntryByKeyHash added in v0.6.0

func (f *FakeSigner) EntryByKeyHash(keyHash []byte) (int, protocol.KeyEntry, bool)

func (*FakeSigner) Equal added in v0.6.0

func (v *FakeSigner) Equal(u *FakeSigner) bool

func (*FakeSigner) GetCreditBalance added in v0.6.0

func (f *FakeSigner) GetCreditBalance() uint64

func (*FakeSigner) GetSignatureThreshold added in v0.6.0

func (f *FakeSigner) GetSignatureThreshold() uint64

func (*FakeSigner) GetVersion added in v0.6.0

func (f *FakeSigner) GetVersion() uint64

func (*FakeSigner) IsValid added in v0.6.0

func (v *FakeSigner) IsValid() error

func (*FakeSigner) MarshalBinary added in v0.6.0

func (v *FakeSigner) MarshalBinary() ([]byte, error)

func (*FakeSigner) MarshalJSON added in v0.6.0

func (v *FakeSigner) MarshalJSON() ([]byte, error)

func (*FakeSigner) UnmarshalBinary added in v0.6.0

func (v *FakeSigner) UnmarshalBinary(data []byte) error

func (*FakeSigner) UnmarshalBinaryFrom added in v0.6.0

func (v *FakeSigner) UnmarshalBinaryFrom(rd io.Reader) error

func (*FakeSigner) UnmarshalJSON added in v0.6.0

func (v *FakeSigner) UnmarshalJSON(data []byte) error

type FakeTendermint

type FakeTendermint struct {
	// contains filtered or unexported fields
}

FakeTendermint is a test harness that facilitates testing the ABCI application without creating an actual Tendermint node.

func NewFakeTendermint

func NewFakeTendermint(app <-chan abci.Application, db *database.Database, network *config.Network, pubKey crypto.PubKey, logger log.Logger, nextHeight func() int64, onError func(err error), interval time.Duration, isEvil bool) *FakeTendermint

func (*FakeTendermint) ABCIQuery

func (c *FakeTendermint) ABCIQuery(ctx context.Context, path string, data tmbytes.HexBytes) (*ctypes.ResultABCIQuery, error)

func (*FakeTendermint) ABCIQueryWithOptions

func (c *FakeTendermint) ABCIQueryWithOptions(ctx context.Context, path string, data tmbytes.HexBytes, opts rpc.ABCIQueryOptions) (*ctypes.ResultABCIQuery, error)

func (*FakeTendermint) App

func (c *FakeTendermint) App() abci.Application

func (*FakeTendermint) BroadcastTxAsync

func (c *FakeTendermint) BroadcastTxAsync(ctx context.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)

func (*FakeTendermint) BroadcastTxSync

func (c *FakeTendermint) BroadcastTxSync(ctx context.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)

func (*FakeTendermint) CheckTx

func (c *FakeTendermint) CheckTx(ctx context.Context, tx types.Tx) (*ctypes.ResultCheckTx, error)

func (*FakeTendermint) Shutdown

func (c *FakeTendermint) Shutdown()

func (*FakeTendermint) SubmitTx

func (c *FakeTendermint) SubmitTx(ctx context.Context, tx types.Tx, check bool) *txStatus

func (*FakeTendermint) Tx

func (c *FakeTendermint) Tx(ctx context.Context, hash []byte, prove bool) (*ctypes.ResultTx, error)

func (*FakeTendermint) Validators added in v0.5.1

func (c *FakeTendermint) Validators() []crypto.PubKey

type FakeTransactionBody added in v0.6.0

type FakeTransactionBody struct {
	TheType protocol.TransactionType `json:"theType,omitempty" form:"theType" query:"theType" validate:"required"`
	// contains filtered or unexported fields
}

func (*FakeTransactionBody) Copy added in v0.6.0

func (*FakeTransactionBody) CopyAsInterface added in v0.6.0

func (v *FakeTransactionBody) CopyAsInterface() interface{}

func (*FakeTransactionBody) Equal added in v0.6.0

func (*FakeTransactionBody) IsValid added in v0.6.0

func (v *FakeTransactionBody) IsValid() error

func (*FakeTransactionBody) MarshalBinary added in v0.6.0

func (v *FakeTransactionBody) MarshalBinary() ([]byte, error)

func (*FakeTransactionBody) Type added in v0.6.0

func (*FakeTransactionBody) UnmarshalBinary added in v0.6.0

func (v *FakeTransactionBody) UnmarshalBinary(data []byte) error

func (*FakeTransactionBody) UnmarshalBinaryFrom added in v0.6.0

func (v *FakeTransactionBody) UnmarshalBinaryFrom(rd io.Reader) error

type NullRouter added in v0.5.1

type NullRouter struct{}

func (NullRouter) Query added in v0.5.1

func (NullRouter) Query(ctx context.Context, subnet string, query []byte, opts client.ABCIQueryOptions) (*core.ResultABCIQuery, error)

func (NullRouter) Route added in v0.5.1

func (NullRouter) Route(...*protocol.Envelope) (string, error)

func (NullRouter) RouteAccount added in v0.5.1

func (NullRouter) RouteAccount(*url.URL) (string, error)

func (NullRouter) Submit added in v0.5.1

func (NullRouter) Submit(ctx context.Context, subnet string, tx *protocol.Envelope, pretend, async bool) (*routing.ResponseSubmit, error)

type TransactionBuilder

type TransactionBuilder struct {
	*protocol.Envelope
	// contains filtered or unexported fields
}

func NewTransaction

func NewTransaction() TransactionBuilder

func (TransactionBuilder) Build added in v0.6.0

func (tb TransactionBuilder) Build() *protocol.Envelope

func (TransactionBuilder) Faucet added in v0.5.1

func (tb TransactionBuilder) Faucet() *protocol.Envelope

func (TransactionBuilder) Initiate added in v0.5.1

func (tb TransactionBuilder) Initiate(typ protocol.SignatureType, privateKey []byte) TransactionBuilder

func (TransactionBuilder) InitiateSynthetic added in v0.5.1

func (tb TransactionBuilder) InitiateSynthetic(destSubnetUrl *url.URL) TransactionBuilder

func (TransactionBuilder) Sign

func (TransactionBuilder) WithBody

func (TransactionBuilder) WithCurrentTimestamp added in v0.5.1

func (tb TransactionBuilder) WithCurrentTimestamp() TransactionBuilder

func (TransactionBuilder) WithHeader

func (TransactionBuilder) WithPrincipal added in v0.5.1

func (tb TransactionBuilder) WithPrincipal(origin *url.URL) TransactionBuilder

func (TransactionBuilder) WithSigner added in v0.5.1

func (tb TransactionBuilder) WithSigner(signer *url.URL, height uint64) TransactionBuilder

func (TransactionBuilder) WithTimestamp added in v0.5.1

func (tb TransactionBuilder) WithTimestamp(nonce uint64) TransactionBuilder

func (TransactionBuilder) WithTimestampVar added in v0.6.0

func (tb TransactionBuilder) WithTimestampVar(nonce *uint64) TransactionBuilder

func (TransactionBuilder) WithTxnHash

func (tb TransactionBuilder) WithTxnHash(hash []byte) TransactionBuilder

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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