integration

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2021 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NetworkPassphrase = "Standalone Network ; February 2017"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	PostgresURL           string
	ProtocolVersion       int32
	SkipContainerCreation bool
}

type Test

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

func NewTest

func NewTest(t *testing.T, config Config) *Test

NewTest starts a new environment for integration test at a given protocol version and blocks until Horizon starts ingesting.

Warning: this requires Docker Compose installed

Skips the test if HORIZON_INTEGRATION_TESTS env variable is not set.

func (*Test) AdminPort

func (i *Test) AdminPort() int

AdminPort returns Horizon admin port.

func (*Test) Client

func (i *Test) Client() *sdk.Client

Client returns horizon.Client connected to started Horizon instance.

func (*Test) CreateAccounts

func (i *Test) CreateAccounts(count int, initialBalance string) ([]*keypair.Full, []txnbuild.Account)

Creates new accounts via the master account.

It funds each account with the given balance and then queries the API to find the randomized sequence number for future operations.

Returns: The slice of created keypairs and account objects.

Note: panics on any errors, since we assume that tests cannot proceed without this method succeeding.

func (*Test) CreateSignedTransaction

func (i *Test) CreateSignedTransaction(
	source txnbuild.Account, signers []*keypair.Full, ops ...txnbuild.Operation,
) (*txnbuild.Transaction, error)

func (*Test) CurrentTest

func (i *Test) CurrentTest() *testing.T

func (*Test) EstablishTrustline

func (i *Test) EstablishTrustline(
	truster *keypair.Full, account txnbuild.Account, asset txnbuild.Asset,
) (proto.Transaction, error)

Establishes a trustline for a given asset for a particular account.

func (*Test) GetCurrentCoreLedgerSequence

func (i *Test) GetCurrentCoreLedgerSequence() (int, error)

func (*Test) GetHorizonConfig

func (i *Test) GetHorizonConfig() horizon.Config

func (*Test) Horizon

func (i *Test) Horizon() *horizon.App

Horizon returns the horizon.App instance for the current integration test

func (*Test) LogFailedTx

func (i *Test) LogFailedTx(txResponse proto.Transaction, horizonResult error)

A convenience function to provide verbose information about a failing transaction to the test output log, if it's expected to succeed.

func (*Test) Master

func (i *Test) Master() *keypair.Full

Master returns a keypair of the network master account.

func (*Test) MasterAccount

func (i *Test) MasterAccount() txnbuild.Account

func (*Test) MetricsURL

func (i *Test) MetricsURL() string

Metrics URL returns Horizon metrics URL.

func (*Test) MustCreateClaimableBalance

func (i *Test) MustCreateClaimableBalance(
	source *keypair.Full, asset txnbuild.Asset, amount string,
	claimants ...txnbuild.Claimant,
) (claim proto.ClaimableBalance)

Panics on any error creating a claimable balance.

func (*Test) MustEstablishTrustline

func (i *Test) MustEstablishTrustline(
	truster *keypair.Full, account txnbuild.Account, asset txnbuild.Asset,
) (resp proto.Transaction)

Panics on any error establishing a trustline.

func (*Test) MustGetAccount

func (i *Test) MustGetAccount(source *keypair.Full) proto.Account

Panics on any error retrieves an account's details from its key. This means it must have previously been funded.

func (*Test) MustSubmitOperations

func (i *Test) MustSubmitOperations(
	source txnbuild.Account, signer *keypair.Full, ops ...txnbuild.Operation,
) proto.Transaction

Submits a signed transaction from an account with standard options.

Namely, we set the standard fee, time bounds, etc. to "non-production" defaults that work well for tests.

Most transactions only need one signer, so see the more verbose `MustSubmitOperationsWithSigners` below for multi-sig transactions.

Note: We assume that transaction will be successful here so we panic in case of all errors. To allow failures, use `SubmitOperations`.

func (*Test) RestartHorizon

func (i *Test) RestartHorizon()

func (*Test) Shutdown

func (i *Test) Shutdown()

Shutdown stops the integration tests and destroys all its associated resources. Shutdown() will be implicitly called when the calling test (i.e. the `testing.Test` passed to `New()`) is finished if it hasn't been explicitly called before.

func (*Test) SubmitMultiSigOperations

func (i *Test) SubmitMultiSigOperations(
	source txnbuild.Account, signers []*keypair.Full, ops ...txnbuild.Operation,
) (proto.Transaction, error)

func (*Test) SubmitOperations

func (i *Test) SubmitOperations(
	source txnbuild.Account, signer *keypair.Full, ops ...txnbuild.Operation,
) (proto.Transaction, error)

Jump to

Keyboard shortcuts

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