Documentation ¶
Index ¶
- Constants
- Variables
- func MergeMaps(maps ...map[string]string) map[string]string
- type CaptiveConfig
- type Config
- type EnvironmentManager
- type Test
- func (i *Test) AdminPort() int
- func (i *Test) Client() *sdk.Client
- func (i *Test) CreateAccounts(count int, initialBalance string) ([]*keypair.Full, []txnbuild.Account)
- func (i *Test) CreateSignedTransaction(source txnbuild.Account, signers []*keypair.Full, ops ...txnbuild.Operation) (*txnbuild.Transaction, error)
- func (i *Test) CurrentTest() *testing.T
- func (i *Test) EstablishTrustline(truster *keypair.Full, account txnbuild.Account, asset txnbuild.Asset) (proto.Transaction, error)
- func (i *Test) GetCurrentCoreLedgerSequence() (int, error)
- func (i *Test) GetHorizonConfig() horizon.Config
- func (i *Test) GetPassPhrase() string
- func (i *Test) Horizon() *horizon.App
- func (i *Test) LogFailedTx(txResponse proto.Transaction, horizonResult error)
- func (i *Test) Master() *keypair.Full
- func (i *Test) MasterAccount() txnbuild.Account
- func (i *Test) MetricsURL() string
- func (i *Test) MustCreateClaimableBalance(source *keypair.Full, asset txnbuild.Asset, amount string, ...) (claim proto.ClaimableBalance)
- func (i *Test) MustEstablishTrustline(truster *keypair.Full, account txnbuild.Account, asset txnbuild.Asset) (resp proto.Transaction)
- func (i *Test) MustGetAccount(source *keypair.Full) proto.Account
- func (i *Test) MustSubmitOperations(source txnbuild.Account, signer *keypair.Full, ops ...txnbuild.Operation) proto.Transaction
- func (i *Test) RestartHorizon() error
- func (i *Test) Shutdown()
- func (i *Test) StartHorizon() error
- func (i *Test) StopHorizon()
- func (i *Test) SubmitMultiSigOperations(source txnbuild.Account, signers []*keypair.Full, ops ...txnbuild.Operation) (proto.Transaction, error)
- func (i *Test) SubmitOperations(source txnbuild.Account, signer *keypair.Full, ops ...txnbuild.Operation) (proto.Transaction, error)
- func (i *Test) WaitForHorizon()
Constants ¶
const (
StandaloneNetworkPassphrase = "Standalone Network ; February 2017"
)
Variables ¶
var (
RunWithCaptiveCore = os.Getenv("HORIZON_INTEGRATION_ENABLE_CAPTIVE_CORE") != ""
)
Functions ¶
Types ¶
type CaptiveConfig ¶
type CaptiveConfig struct {
// contains filtered or unexported fields
}
type Config ¶
type Config struct { PostgresURL string ProtocolVersion int32 SkipContainerCreation bool CoreDockerImage string // Weird naming here because bools default to false, but we want to start // Horizon by default. SkipHorizonStart bool // If you want to override the default parameters passed to Horizon, you can // set this map accordingly. All of them are passed along as --k=v, but if // you pass an empty value, the parameter will be dropped. (Note that you // should exclude the prepending `--` from keys; this is for compatibility // with the constant names in flags.go) // // You can also control the environmental variables in a similar way, but // note that CLI args take precedence over envvars, so set the corresponding // CLI arg empty. HorizonParameters map[string]string HorizonEnvironment map[string]string }
type EnvironmentManager ¶
type EnvironmentManager struct {
// contains filtered or unexported fields
}
func NewEnvironmentManager ¶
func NewEnvironmentManager() *EnvironmentManager
func (*EnvironmentManager) Add ¶
func (envmgr *EnvironmentManager) Add(key, value string) error
Add sets a new environment variable, saving the original value (if any).
func (*EnvironmentManager) Restore ¶
func (envmgr *EnvironmentManager) Restore()
Restore restores the environment prior to any modifications.
You should probably use this alongside `defer` to ensure the global environment isn't modified for longer than you intend.
type Test ¶
type Test struct {
// contains filtered or unexported fields
}
func NewTest ¶
NewTest starts a new environment for integration test at a given protocol version and blocks until Horizon starts ingesting.
Skips the test if HORIZON_INTEGRATION_TESTS env variable is not set.
WARNING: This requires Docker Compose installed.
func NewTestForRemoteHorizon ¶
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 (*Test) CurrentTest ¶
func (*Test) EstablishTrustline ¶
func (i *Test) EstablishTrustline( truster *keypair.Full, account txnbuild.Account, asset txnbuild.Asset, ) (proto.Transaction, error)
EstablishTrustline works on a given asset for a particular account.
func (*Test) GetCurrentCoreLedgerSequence ¶
func (*Test) GetHorizonConfig ¶
func (*Test) GetPassPhrase ¶
func (*Test) LogFailedTx ¶
func (i *Test) LogFailedTx(txResponse proto.Transaction, horizonResult error)
LogFailedTx is a convenience function to provide verbose information about a failing transaction to the test output log, if it's expected to succeed.
func (*Test) MasterAccount ¶
func (*Test) MetricsURL ¶
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)
MustCreateClaimableBalance 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 ¶
MustGetAccount 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
MustSubmitOperations 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 (*Test) Shutdown ¶
func (i *Test) Shutdown()
Shutdown stops the integration tests and destroys all its associated resources. It 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) StartHorizon ¶
func (*Test) StopHorizon ¶
func (i *Test) StopHorizon()
StopHorizon shuts down the running Horizon process
func (*Test) SubmitMultiSigOperations ¶
func (*Test) SubmitOperations ¶
func (*Test) WaitForHorizon ¶
func (i *Test) WaitForHorizon()