test_env

package
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Nov 30, 2023 License: MIT Imports: 40 Imported by: 4

Documentation

Index

Constants

View Source
const (
	CONTAINER_ETH2_CONSENSUS_DIRECTORY = "/consensus"
	CONTAINER_ETH2_EXECUTION_DIRECTORY = "/execution"
)
View Source
const (
	// RootFundingAddr is the static key that hardhat is using
	// https://hardhat.org/hardhat-runner/docs/getting-started
	// if you need more keys, keep them compatible, so we can swap Geth to Ganache/Hardhat in the future
	RootFundingAddr   = `0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266`
	RootFundingWallet = `` /* 491-byte string literal not displayed */

	TX_GETH_HTTP_PORT = "8544"
	TX_GETH_WS_PORT   = "8545"
)
View Source
const (
	GO_CLIENT_IMAGE_TAG      = "v1.13.4"
	GETH_ETH2_EXECUTION_PORT = "8551"
)
View Source
const (
	TX_NON_DEV_GETH_WS_PORT = "8546"
	BOOTNODE_PORT           = "30301"
)
View Source
const (
	PRYSM_QUERY_RPC_PORT = "3500"
	PRYSM_NODE_RPC_PORT  = "4000"
	PRYSM_IMAGE_TAG      = "v4.1.1"
)
View Source
const (
	BESU_IMAGE = "hyperledger/besu"
)
View Source
const (
	BaseCMD = `docker run -i --rm -v /var/run/docker.sock:/var/run/docker.sock --network %s gaiaadm/pumba --log-level=info`
)

Variables

View Source
var BeaconChainConfigYAML = `` /* 559-byte string literal not displayed */
View Source
var DefaultBeaconChainConfig = BeaconChainConfig{
	SecondsPerSlot: 12,
	SlotsPerEpoch:  6,
}
View Source
var Eth1GenesisJSON = `` /* 15820-byte string literal not displayed */
View Source
var (
	FundingAddresses = map[string]string{
		"f39fd6e51aad88f6f4ce6ab8827279cfffb92266": `{"address":"f39fd6e51aad88f6f4ce6ab8827279cfffb92266","crypto":{"cipher":"aes-128-ctr","ciphertext":"c36afd6e60b82d6844530bd6ab44dbc3b85a53e826c3a7f6fc6a75ce38c1e4c6","cipherparams":{"iv":"f69d2bb8cd0cb6274535656553b61806"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"80d5f5e38ba175b6b89acfc8ea62a6f163970504af301292377ff7baafedab53"},"mac":"f2ecec2c4d05aacc10eba5235354c2fcc3776824f81ec6de98022f704efbf065"},"id":"e5c124e9-e280-4b10-a27b-d7f3e516b408","version":3}`,
		"70997970c51812dc3a010c7d01b50e0d17dc79c8": `{"address":"70997970c51812dc3a010c7d01b50e0d17dc79c8","crypto":{"cipher":"aes-128-ctr","ciphertext":"f8183fa00bc112645d3e23e29a233e214f7c708bf49d72750c08af88ad76c980","cipherparams":{"iv":"796d08e3e1f71bde89ed826abda96cda"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"03c864a22a1f7b06b1da12d8b93e024ac144f898285907c58b2abc135fc8a35c"},"mac":"5fe91b1a1821c0d9f85dfd582354ead9612e9a7e9adc38b06a2beff558c119ac"},"id":"d2cab765-5e30-42ae-bb91-f090d9574fae","version":3}`,
		"3c44cdddb6a900fa2b585dd299e03d12fa4293bc": `{"address":"3c44cdddb6a900fa2b585dd299e03d12fa4293bc","crypto":{"cipher":"aes-128-ctr","ciphertext":"2cd6ab87086c47f343f2c4d957eace7986f3b3c87fc35a2aafbefb57a06d9f1c","cipherparams":{"iv":"4e16b6cd580866c1aa642fb4d7312c9b"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"0cabde93877f6e9a59070f9992f7a01848618263124835c90d4d07a0041fc57c"},"mac":"94b7776ea95b0ecd8406c7755acf17b389b7ebe489a8942e32082dfdc1f04f57"},"id":"ade1484b-a3bb-426f-9223-a1f5e3bde2e8","version":3}`,
		"90f79bf6eb2c4f870365e785982e1f101e93b906": `{"address":"90f79bf6eb2c4f870365e785982e1f101e93b906","crypto":{"cipher":"aes-128-ctr","ciphertext":"15144214d323871e00f7b205368128061c91b77a27b7deec935f8f5b734f0d42","cipherparams":{"iv":"bb22ba8051ef9f60abded7a9f4f2c6ae"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"07331ef3035567c00830b4e50d5dd68bc877974b4ce38cd42fef755be01556c9"},"mac":"2294eacadaf2761851814451d8c7dcca20a606a0344335d98f09403aba4e82ca"},"id":"96af8cc7-97e1-4bba-8968-632b034986c2","version":3}`,
		"15d34aaf54267db7d7c367839aaf71a00a2c6a65": `{"address":"15d34aaf54267db7d7c367839aaf71a00a2c6a65","crypto":{"cipher":"aes-128-ctr","ciphertext":"057878284a6c74d3ad99910adddd6b477b383837dbf2280efea585f0f0fdb012","cipherparams":{"iv":"e6eab29d60b526f305f8d47badf48687"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"dfdca8066d2486da5cb9a909d03744e2a8c6537930271e85e7cd8a5d952c0f22"},"mac":"f8352be41c9a06d69111ca4d8fcff0eef079b68b1173cad99803538991716c5d"},"id":"a35bb452-0d57-42d5-8d25-5a00a40a4db8","version":3}`,
		"9965507d1a55bcc2695c58ba16fb37d819b0a4dc": `{"address":"9965507d1a55bcc2695c58ba16fb37d819b0a4dc","crypto":{"cipher":"aes-128-ctr","ciphertext":"5a73201500307c6aa98edd44d962b344a893768331454a61595ec848e738e9d2","cipherparams":{"iv":"5282de2b3e2b305019a2fed5c62f3383"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"6ad001831d097f175fff7d6cf61301e9620b32afd9a7a6437e6030af14576a96"},"mac":"0a55eddbd13c713aa8b8c4106b2fb62bc1d1e18e7177207a444f83a4d8426ed5"},"id":"27aed2b2-cb94-4d37-8819-b15219187bb5","version":3}`,
		"976ea74026e726554db657fa54763abd0c3a0aa9": `{"address":"976ea74026e726554db657fa54763abd0c3a0aa9","crypto":{"cipher":"aes-128-ctr","ciphertext":"a6edf11e81b38e60a549696236cb9efc026e87adc45a9521ea7b2c45a2a9fbb9","cipherparams":{"iv":"82f4c79cd4b28a8585a9c78d758f832b"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"87400e16ecc320dadff85eccbf4dbaaea2dd91e50047e4aa391799bb319c1fd8"},"mac":"80c83dad05998db6c673a97096fcfad54636458f4a3c82483686b253f8cc9b69"},"id":"fc7d7694-6206-48fc-bb25-36b523f90df6","version":3}`,
		"14dc79964da2c08b23698b3d3cc7ca32193d9955": `{"address":"14dc79964da2c08b23698b3d3cc7ca32193d9955","crypto":{"cipher":"aes-128-ctr","ciphertext":"410f258bc8b12a0250cba22cbc5e413534fcf90bf322ced6943189ad9e43b4b9","cipherparams":{"iv":"1dd6077a8bee9b3bf2ca90e6abc8a237"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"5d3358bf99bbcb82354f40e5501abf4336bc141ee05d8feed4fbe7eb8c08c917"},"mac":"9cd959fa1e8129a8deb86e0264ec81d6cde79b5a19ae259b7d00543c9037908a"},"id":"689d7ad2-fe46-4c09-9c2a-a50e607989b8","version":3}`,
		"23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f": `{"address":"23618e81e3f5cdf7f54c3d65f7fbc0abf5b21e8f","crypto":{"cipher":"aes-128-ctr","ciphertext":"13dccac740314edea20d44e6f3592575bbcb739ec5892d635326cff3c386eb86","cipherparams":{"iv":"bf42d811cd41fa97ddcae3425f8c3211"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"d2fa67cbb5e86d5bf9a90e27b8747bac493614b45778d43e9da1c14e06b2401d"},"mac":"7d2797cf344704d8f36265238d3938e06952c78ab7dfcbac53dc7f472c93d933"},"id":"4c8e899e-80f0-4417-9b1e-c5e29049f1e7","version":3}`,
		"a0ee7a142d267c1f36714e4a8f75612f20a79720": `{"address":"a0ee7a142d267c1f36714e4a8f75612f20a79720","crypto":{"cipher":"aes-128-ctr","ciphertext":"56bc8766f47aeafae74eea333e1e890a3776d7fae6c48cbdbffb270655ce050d","cipherparams":{"iv":"a66129e6a110b3ddf93b4355aa147c58"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"15c4e8bcc80920139eb236d91194825f1fce27dd2af281e0f2752d8a5dbc48bd"},"mac":"db01e720866ce8bb7897dfc7773e064003ad53429a79732ee769cf6d02273570"},"id":"87b2d76f-1b70-4e4f-8b2a-5d1915c1177c","version":3}`,
		"bcd4042de499d14e55001ccbb24a551f3b954096": `{"address":"bcd4042de499d14e55001ccbb24a551f3b954096","crypto":{"cipher":"aes-128-ctr","ciphertext":"e455eda6e38d246c03b930f845adfc8721ca75e9f47135cd4c18dbc3e5c5440a","cipherparams":{"iv":"0b1a0a24acc1ad25b0f170f751c2cb27"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"69f324ed0787794878bf5f84d4dbbc70dec1274cad666399edc48640605f64c8"},"mac":"f07da09c460a69f943f5639545d2b3f72c1e9789f0421ad41d3078ea3db12c96"},"id":"7ec7bb3c-c486-4785-a4fc-f8f4b2fc7764","version":3}`,
		"71be63f3384f5fb98995898a86b02fb2426c5788": `{"address":"71be63f3384f5fb98995898a86b02fb2426c5788","crypto":{"cipher":"aes-128-ctr","ciphertext":"4194377a05fd3d13e0a3155dad974a003fe5f7a3b5acb35d7d97c50daa8990d4","cipherparams":{"iv":"607670778baf62b1e86394cf1980487a"},"kdf":"scrypt","kdfparams":{"dklen":32,"n":262144,"p":1,"r":8,"salt":"d63b890ad7f4fcc857681faabe9319dffc53893966ef0810bf64c4f319b0ffc5"},"mac":"bfaf924959e65c8030ece259d52ed52d5d21bd74f1a67ae545d4bb289a479e16"},"id":"0c6af842-384f-49b6-b5b7-199a1e05486b","version":3}`,
	}
)

Functions

func FormatHttpUrl added in v1.18.6

func FormatHttpUrl(host string, port string) string

func FormatWsUrl added in v1.18.6

func FormatWsUrl(host string, port string) string

func GenerateBeaconChainConfig added in v1.18.6

func GenerateBeaconChainConfig(c *BeaconChainConfig) (string, error)

func GetEndpoint added in v1.17.11

func GetEndpoint(ctx context.Context, container tc.Container, endpointType string) (string, error)

GetEndpoint returns the endpoint of a container, if localhost then force ipv4 localhost to avoid ipv6 docker bugs https://github.com/moby/moby/issues/42442 https://github.com/moby/moby/issues/42375

func GetHost added in v1.17.11

func GetHost(ctx context.Context, container tc.Container) (string, error)

GetHost returns the host of a container, if localhost then force ipv4 localhost to avoid ipv6 docker bugs https://github.com/moby/moby/issues/42442 https://github.com/moby/moby/issues/42375

func NatPort added in v1.17.3

func NatPort(port string) nat.Port

func NatPortFormat added in v1.17.3

func NatPortFormat(port string) string

Types

type BeaconChainConfig added in v1.18.6

type BeaconChainConfig struct {
	SecondsPerSlot int
	SlotsPerEpoch  int
}

type ConsensusLayer added in v1.18.6

type ConsensusLayer string
const (
	ConsensusLayer_Prysm ConsensusLayer = "prysm"
)

type ConsensusType added in v1.18.6

type ConsensusType string
const (
	ConsensusType_PoS ConsensusType = "pos"
	ConsensusType_PoW ConsensusType = "pow"
)

type ContainerType added in v1.18.6

type ContainerType string
const (
	ContainerType_Geth        ContainerType = "geth"
	ContainerType_Geth2       ContainerType = "geth2"
	ContainerType_PrysmBeacon ContainerType = "prysm-beacon"
	ContainerType_PrysmVal    ContainerType = "prysm-validator"
)

type EnvComponent

type EnvComponent struct {
	ContainerName    string            `json:"containerName"`
	ContainerImage   string            `json:"containerImage"`
	ContainerVersion string            `json:"containerVersion"`
	ContainerEnvs    map[string]string `json:"containerEnvs"`
	Networks         []string          `json:"networks"`
	Container        tc.Container      `json:"-"`
}

func (EnvComponent) ChaosNetworkDelay added in v1.18.5

func (ec EnvComponent) ChaosNetworkDelay(
	l zerolog.Logger,
	duration time.Duration,
	delay time.Duration,
	targetInterfaceName string,
	targetIPs []string,
	targetIngressPorts []string,
	targetEgressPorts []string,
) error

ChaosNetworkDelay delays the container's network traffic for the specified duration

func (EnvComponent) ChaosNetworkLoss added in v1.18.5

func (ec EnvComponent) ChaosNetworkLoss(
	l zerolog.Logger,
	duration time.Duration,
	lossPercentage int,
	targetInterfaceName string,
	targetIPs []string,
	targetIngressPorts []string,
	targetEgressPorts []string,
) error

ChaosNetworkLoss causes the container to lose the specified percentage of network traffic for the specified duration

func (EnvComponent) ChaosPause added in v1.18.5

func (ec EnvComponent) ChaosPause(
	l zerolog.Logger,
	duration time.Duration,
) error

ChaosPause pauses the container for the specified duration

type EnvComponentOption

type EnvComponentOption = func(c *EnvComponent)

func WithContainerName

func WithContainerName(name string) EnvComponentOption

type Eth2Components added in v1.18.6

type Eth2Components struct {
	Geth        *Geth2
	BeaconChain *PrysmBeaconChain
	Validator   *PrysmValidator
}

type EthereumNetwork added in v1.18.6

type EthereumNetwork struct {
	ConsensusType      ConsensusType             `json:"consensus_type"`
	ConsensusLayer     ConsensusLayer            `json:"consensus_layer"`
	ConsensusNodes     int                       `json:"consensus_nodes"`
	ExecutionLayer     ExecutionLayer            `json:"execution_layer"`
	ExecutionNodes     int                       `json:"execution_nodes"`
	DockerNetworkNames []string                  `json:"docker_network_names"`
	ExecutionDir       string                    `json:"execution_dir"`
	ConsensusDir       string                    `json:"consensus_dir"`
	Containers         EthereumNetworkContainers `json:"containers"`
	// contains filtered or unexported fields
}

func (*EthereumNetwork) Describe added in v1.18.6

func (b *EthereumNetwork) Describe() string

func (*EthereumNetwork) Start added in v1.18.6

type EthereumNetworkBuilder added in v1.18.6

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

func NewEthereumNetworkBuilder added in v1.18.6

func NewEthereumNetworkBuilder() EthereumNetworkBuilder

func (*EthereumNetworkBuilder) Build added in v1.18.6

func (*EthereumNetworkBuilder) WithAddressesToFund added in v1.18.6

func (b *EthereumNetworkBuilder) WithAddressesToFund(addresses []string) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithBeaconChainConfig added in v1.18.6

func (b *EthereumNetworkBuilder) WithBeaconChainConfig(config BeaconChainConfig) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithConsensusLayer added in v1.18.6

func (b *EthereumNetworkBuilder) WithConsensusLayer(consensusLayer ConsensusLayer) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithConsensusNodes added in v1.18.6

func (b *EthereumNetworkBuilder) WithConsensusNodes(consensusNodes int) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithConsensusType added in v1.18.6

func (b *EthereumNetworkBuilder) WithConsensusType(consensusType ConsensusType) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithDockerNetworks added in v1.18.6

func (b *EthereumNetworkBuilder) WithDockerNetworks(networks []string) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithExecutionLayer added in v1.18.6

func (b *EthereumNetworkBuilder) WithExecutionLayer(executionLayer ExecutionLayer) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithExecutionNodes added in v1.18.6

func (b *EthereumNetworkBuilder) WithExecutionNodes(executionNodes int) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithExistingConfig added in v1.18.6

func (b *EthereumNetworkBuilder) WithExistingConfig(config EthereumNetwork) *EthereumNetworkBuilder

func (*EthereumNetworkBuilder) WithTest added in v1.18.6

type EthereumNetworkContainer added in v1.18.6

type EthereumNetworkContainer struct {
	ContainerName string        `json:"container_name"`
	ContainerType ContainerType `json:"container_type"`
	Container     *tc.Container `json:"-"`
}

type EthereumNetworkContainers added in v1.18.6

type EthereumNetworkContainers []EthereumNetworkContainer

type ExecutionLayer added in v1.18.6

type ExecutionLayer string
const (
	ExecutionLayer_Geth ExecutionLayer = "geth"
)

type Geth added in v1.16.1

type Geth struct {
	EnvComponent
	ExternalHttpUrl string
	InternalHttpUrl string
	ExternalWsUrl   string
	InternalWsUrl   string
	// contains filtered or unexported fields
}

func NewGeth added in v1.16.1

func NewGeth(networks []string, opts ...EnvComponentOption) *Geth

func (*Geth) StartContainer added in v1.16.1

func (g *Geth) StartContainer() (blockchain.EVMNetwork, InternalDockerUrls, error)

func (*Geth) WithLogger added in v1.18.6

func (g *Geth) WithLogger(l zerolog.Logger) *Geth

func (*Geth) WithTestLogger added in v1.17.0

func (g *Geth) WithTestLogger(t *testing.T) *Geth

type Geth2 added in v1.18.6

type Geth2 struct {
	EnvComponent
	ExternalHttpUrl      string
	InternalHttpUrl      string
	ExternalWsUrl        string
	InternalWsUrl        string
	InternalExecutionURL string
	ExternalExecutionURL string
	ExecutionDir         string
	// contains filtered or unexported fields
}

func NewGeth2 added in v1.18.6

func NewGeth2(networks []string, executionDir string, consensusLayer ConsensusLayer, opts ...EnvComponentOption) *Geth2

func (*Geth2) StartContainer added in v1.18.6

func (g *Geth2) StartContainer() (blockchain.EVMNetwork, error)

func (*Geth2) WithLogger added in v1.18.6

func (g *Geth2) WithLogger(l zerolog.Logger) *Geth2

func (*Geth2) WithTestLogger added in v1.19.0

func (g *Geth2) WithTestLogger(t *testing.T) *Geth2

type GethGenesis added in v1.18.6

type GethGenesis struct {
	EnvComponent
	ExecutionDir string
	// contains filtered or unexported fields
}

func NewEth1Genesis added in v1.18.6

func NewEth1Genesis(networks []string, executionDir string, opts ...EnvComponentOption) *GethGenesis

func (*GethGenesis) StartContainer added in v1.18.6

func (g *GethGenesis) StartContainer() error

func (*GethGenesis) WithLogger added in v1.18.6

func (g *GethGenesis) WithLogger(l zerolog.Logger) *GethGenesis

func (*GethGenesis) WithTestLogger added in v1.19.0

func (g *GethGenesis) WithTestLogger(t *testing.T) *GethGenesis

type HTTPStrategy added in v1.17.11

type HTTPStrategy struct {
	Path               string
	Port               nat.Port
	RetryDelay         time.Duration
	ExpectedStatusCode int
	// contains filtered or unexported fields
}

func NewHTTPStrategy added in v1.17.11

func NewHTTPStrategy(path string, port nat.Port) *HTTPStrategy

func (*HTTPStrategy) WaitUntilReady added in v1.17.11

func (w *HTTPStrategy) WaitUntilReady(ctx context.Context, target tcwait.StrategyTarget) (err error)

WaitUntilReady implements Strategy.WaitUntilReady

func (*HTTPStrategy) WithStatusCode added in v1.17.11

func (w *HTTPStrategy) WithStatusCode(statusCode int) *HTTPStrategy

func (*HTTPStrategy) WithTimeout added in v1.17.11

func (w *HTTPStrategy) WithTimeout(timeout time.Duration) *HTTPStrategy

type InternalDockerUrls added in v1.16.1

type InternalDockerUrls struct {
	HttpUrl string
	WsUrl   string
}

type Kafka added in v1.17.11

type Kafka struct {
	EnvComponent
	TopicConfigs       []KafkaTopicConfig
	EnvVars            map[string]string
	BootstrapServerUrl string
	InternalUrl        string
	ExternalUrl        string
	// contains filtered or unexported fields
}

func NewKafka added in v1.17.11

func NewKafka(networks []string) *Kafka

func (*Kafka) CreateLocalTopics added in v1.17.11

func (k *Kafka) CreateLocalTopics() error

func (*Kafka) StartContainer added in v1.17.11

func (k *Kafka) StartContainer() error

func (*Kafka) WithContainerName added in v1.17.11

func (k *Kafka) WithContainerName(name string) *Kafka

func (*Kafka) WithEnvVars added in v1.17.11

func (k *Kafka) WithEnvVars(envVars map[string]string) *Kafka

func (*Kafka) WithTestLogger added in v1.17.11

func (k *Kafka) WithTestLogger(t *testing.T) *Kafka

func (*Kafka) WithTopics added in v1.17.11

func (k *Kafka) WithTopics(topics []KafkaTopicConfig) *Kafka

func (*Kafka) WithZookeeper added in v1.17.11

func (k *Kafka) WithZookeeper(zookeeperUrl string) *Kafka

type KafkaTopicConfig added in v1.17.11

type KafkaTopicConfig struct {
	TopicName     string `json:"topic_name"`
	Partitions    int    `json:"partitions"`
	Replication   int    `json:"replication"`
	CleanupPolicy string `json:"cleanup_policy"`
}

type Killgrave added in v1.17.5

type Killgrave struct {
	EnvComponent
	ExternalEndpoint string
	InternalPort     string
	InternalEndpoint string
	// contains filtered or unexported fields
}

func NewKillgrave added in v1.17.5

func NewKillgrave(networks []string, impostersDirectoryPath string, opts ...EnvComponentOption) *Killgrave

func (*Killgrave) AddImposter added in v1.17.5

func (k *Killgrave) AddImposter(imposters []KillgraveImposter) error

AddImposter adds an imposter to the killgrave container

func (*Killgrave) SetAdapterBasedAnyValuePath added in v1.17.5

func (k *Killgrave) SetAdapterBasedAnyValuePath(path string, methods []string, v interface{}) error

SetAdapterBasedAnyValuePath sets a path to return a value as though it was from an adapter

func (*Killgrave) SetAdapterBasedIntValuePath added in v1.17.5

func (k *Killgrave) SetAdapterBasedIntValuePath(path string, methods []string, v int) error

SetAdapterBasedAnyValuePathObject sets a path to return a value as though it was from an adapter

func (*Killgrave) SetStringValuePath added in v1.17.5

func (k *Killgrave) SetStringValuePath(path string, methods []string, headers map[string]string, v string) error

SetStringValuePath sets a path to return a string value

func (*Killgrave) StartContainer added in v1.17.5

func (k *Killgrave) StartContainer() error

func (*Killgrave) WithTestLogger added in v1.17.5

func (k *Killgrave) WithTestLogger(t *testing.T) *Killgrave

type KillgraveAdapterResponse added in v1.17.5

type KillgraveAdapterResponse struct {
	Id    string                 `json:"id"`
	Data  KillgraveAdapterResult `json:"data"`
	Error interface{}            `json:"error"`
}

AdapterResponse represents a response from an adapter

type KillgraveAdapterResult added in v1.17.5

type KillgraveAdapterResult struct {
	Result interface{} `json:"result"`
}

AdapterResult represents an int result for an adapter

type KillgraveImposter added in v1.17.5

type KillgraveImposter struct {
	Request  KillgraveRequest  `json:"request"`
	Response KillgraveResponse `json:"response"`
}

Imposter define an imposter structure

type KillgraveRequest added in v1.17.5

type KillgraveRequest struct {
	Method     string             `json:"method"`
	Endpoint   string             `json:"endpoint,omitempty"`
	SchemaFile *string            `json:"schemaFile,omitempty"`
	Params     *map[string]string `json:"params,omitempty"`
	Headers    *map[string]string `json:"headers"`
}

type KillgraveResponse added in v1.17.5

type KillgraveResponse struct {
	Status   int                     `json:"status"`
	Body     string                  `json:"body,omitempty"`
	BodyFile *string                 `json:"bodyFile,omitempty"`
	Headers  *map[string]string      `json:"headers,omitempty"`
	Delay    *KillgraveResponseDelay `json:"delay,omitempty"`
}

Response represent the structure of real response

type KillgraveResponseDelay added in v1.17.5

type KillgraveResponseDelay struct {
	Delay  int64 `json:"delay,omitempty"`
	Offset int64 `json:"offset,omitempty"`
}

ResponseDelay represent time delay before server responds.

type MockServer added in v1.16.1

type MockServer struct {
	EnvComponent
	Client           *ctfClient.MockserverClient
	Endpoint         string
	InternalEndpoint string
	EAMockUrls       []*url.URL
	// contains filtered or unexported fields
}

func NewMockServer added in v1.16.1

func NewMockServer(networks []string, opts ...EnvComponentOption) *MockServer

func (*MockServer) SetExternalAdapterMocks added in v1.16.1

func (ms *MockServer) SetExternalAdapterMocks(count int) error

func (*MockServer) StartContainer added in v1.16.1

func (ms *MockServer) StartContainer() error

func (*MockServer) WithTestLogger added in v1.17.0

func (ms *MockServer) WithTestLogger(t *testing.T) *MockServer

type NonDevBesuNode added in v1.17.0

type NonDevBesuNode struct {
	EnvComponent
	Config          gethTxNodeConfig
	ExternalHttpUrl string
	InternalHttpUrl string
	ExternalWsUrl   string
	InternalWsUrl   string
	EVMClient       blockchain.EVMClient
	EthClient       *ethclient.Client
	// contains filtered or unexported fields
}

func NewNonDevBesuNode added in v1.17.0

func NewNonDevBesuNode(networks []string, networkCfg *blockchain.EVMNetwork) *NonDevBesuNode

func (*NonDevBesuNode) ConnectToClient added in v1.17.0

func (g *NonDevBesuNode) ConnectToClient() error

func (*NonDevBesuNode) GetEVMClient added in v1.17.0

func (g *NonDevBesuNode) GetEVMClient() blockchain.EVMClient

func (*NonDevBesuNode) GetInternalHttpUrl added in v1.17.0

func (g *NonDevBesuNode) GetInternalHttpUrl() string

func (*NonDevBesuNode) GetInternalWsUrl added in v1.17.0

func (g *NonDevBesuNode) GetInternalWsUrl() string

func (*NonDevBesuNode) Start added in v1.17.0

func (g *NonDevBesuNode) Start() error

func (*NonDevBesuNode) WithTestLogger added in v1.17.0

func (g *NonDevBesuNode) WithTestLogger(t *testing.T) NonDevNode

type NonDevGethNode

type NonDevGethNode struct {
	EnvComponent
	Config          gethTxNodeConfig
	ExternalHttpUrl string
	InternalHttpUrl string
	ExternalWsUrl   string
	InternalWsUrl   string
	EVMClient       blockchain.EVMClient
	EthClient       *ethclient.Client
	// contains filtered or unexported fields
}

func NewNonDevGethNode

func NewNonDevGethNode(networks []string, networkCfg *blockchain.EVMNetwork) *NonDevGethNode

func (*NonDevGethNode) ConnectToClient

func (g *NonDevGethNode) ConnectToClient() error

func (*NonDevGethNode) GetEVMClient added in v1.17.0

func (g *NonDevGethNode) GetEVMClient() blockchain.EVMClient

func (*NonDevGethNode) GetInternalHttpUrl added in v1.17.0

func (g *NonDevGethNode) GetInternalHttpUrl() string

func (*NonDevGethNode) GetInternalWsUrl added in v1.17.0

func (g *NonDevGethNode) GetInternalWsUrl() string

func (*NonDevGethNode) Start

func (g *NonDevGethNode) Start() error

func (*NonDevGethNode) WithTestLogger added in v1.17.0

func (g *NonDevGethNode) WithTestLogger(t *testing.T) NonDevNode

type NonDevNode added in v1.17.0

type NonDevNode interface {
	GetInternalHttpUrl() string
	GetInternalWsUrl() string
	GetEVMClient() blockchain.EVMClient
	WithTestLogger(t *testing.T) NonDevNode
	Start() error
	ConnectToClient() error
}

type PostgresDb added in v1.16.1

type PostgresDb struct {
	EnvComponent
	User         string   `json:"user"`
	Password     string   `json:"password"`
	DbName       string   `json:"dbName"`
	InternalPort string   `json:"internalPort"`
	ExternalPort string   `json:"-"`
	InternalURL  *url.URL `json:"-"`
	ExternalURL  *url.URL `json:"-"`
	// contains filtered or unexported fields
}

func NewPostgresDb added in v1.16.1

func NewPostgresDb(networks []string, opts ...PostgresDbOption) (*PostgresDb, error)

func (*PostgresDb) ExecPgDump added in v1.17.9

func (pg *PostgresDb) ExecPgDump(stdout io.Writer) error

func (*PostgresDb) StartContainer added in v1.16.1

func (pg *PostgresDb) StartContainer() error

func (*PostgresDb) WithTestLogger added in v1.17.0

func (pg *PostgresDb) WithTestLogger(t *testing.T) *PostgresDb

type PostgresDbOption added in v1.16.1

type PostgresDbOption = func(c *PostgresDb)

func WithContainerEnv added in v1.18.6

func WithContainerEnv(key, value string) PostgresDbOption

func WithPostgresDbContainerName added in v1.16.1

func WithPostgresDbContainerName(name string) PostgresDbOption

Sets custom container name if name is not empty

func WithPostgresDbName added in v1.17.9

func WithPostgresDbName(name string) PostgresDbOption

func WithPostgresImageName added in v1.18.6

func WithPostgresImageName(imageName string) PostgresDbOption

func WithPostgresImageVersion added in v1.17.8

func WithPostgresImageVersion(version string) PostgresDbOption

type PrivateBesuChain added in v1.17.0

type PrivateBesuChain struct {
	PrimaryNode    *NonDevBesuNode
	Nodes          []*NonDevBesuNode
	NetworkConfig  *blockchain.EVMNetwork
	DockerNetworks []string
}

func (*PrivateBesuChain) GetDockerNetworks added in v1.17.0

func (p *PrivateBesuChain) GetDockerNetworks() []string

func (*PrivateBesuChain) GetNetworkConfig added in v1.17.0

func (p *PrivateBesuChain) GetNetworkConfig() *blockchain.EVMNetwork

func (*PrivateBesuChain) GetNodes added in v1.17.0

func (p *PrivateBesuChain) GetNodes() []NonDevNode

func (*PrivateBesuChain) GetPrimaryNode added in v1.17.0

func (p *PrivateBesuChain) GetPrimaryNode() NonDevNode

type PrivateChain added in v1.17.0

type PrivateChain interface {
	GetPrimaryNode() NonDevNode
	GetNodes() []NonDevNode
	GetNetworkConfig() *blockchain.EVMNetwork
	GetDockerNetworks() []string
}

func NewPrivateBesuChain added in v1.17.0

func NewPrivateBesuChain(networkCfg *blockchain.EVMNetwork, dockerNetworks []string) PrivateChain

func NewPrivateGethChain

func NewPrivateGethChain(networkCfg *blockchain.EVMNetwork, dockerNetworks []string) PrivateChain

type PrivateGethChain

type PrivateGethChain struct {
	PrimaryNode    *NonDevGethNode
	Nodes          []*NonDevGethNode
	NetworkConfig  *blockchain.EVMNetwork
	DockerNetworks []string
}

func (*PrivateGethChain) GetDockerNetworks added in v1.17.0

func (p *PrivateGethChain) GetDockerNetworks() []string

func (*PrivateGethChain) GetNetworkConfig added in v1.17.0

func (p *PrivateGethChain) GetNetworkConfig() *blockchain.EVMNetwork

func (*PrivateGethChain) GetNodes added in v1.17.0

func (p *PrivateGethChain) GetNodes() []NonDevNode

func (*PrivateGethChain) GetPrimaryNode added in v1.17.0

func (p *PrivateGethChain) GetPrimaryNode() NonDevNode

func (*PrivateGethChain) WithTestLogger added in v1.17.0

func (p *PrivateGethChain) WithTestLogger(t *testing.T) *PrivateGethChain

type PrysmBeaconChain added in v1.18.6

type PrysmBeaconChain struct {
	EnvComponent
	InternalBeaconRpcProvider string
	InternalQueryRpcUrl       string
	ExternalBeaconRpcProvider string
	ExternalQueryRpcUrl       string
	// contains filtered or unexported fields
}

func NewPrysmBeaconChain added in v1.18.6

func NewPrysmBeaconChain(networks []string, executionDir, consensusDir, gethExecutionURL string, opts ...EnvComponentOption) *PrysmBeaconChain

func (*PrysmBeaconChain) StartContainer added in v1.18.6

func (g *PrysmBeaconChain) StartContainer() error

func (*PrysmBeaconChain) WithLogger added in v1.18.6

func (g *PrysmBeaconChain) WithLogger(l zerolog.Logger) *PrysmBeaconChain

func (*PrysmBeaconChain) WithTestLogger added in v1.19.0

func (g *PrysmBeaconChain) WithTestLogger(t *testing.T) *PrysmBeaconChain

type PrysmGenesis added in v1.18.6

type PrysmGenesis struct {
	EnvComponent
	// contains filtered or unexported fields
}

func NewEth2Genesis added in v1.18.6

func NewEth2Genesis(networks []string, beaconChainConfig BeaconChainConfig, hostExecutionDir, hostConsensusDir string, opts ...EnvComponentOption) *PrysmGenesis

func (*PrysmGenesis) StartContainer added in v1.18.6

func (g *PrysmGenesis) StartContainer() error

func (*PrysmGenesis) WithFundedAccounts added in v1.18.6

func (g *PrysmGenesis) WithFundedAccounts(addresses []string) *PrysmGenesis

func (*PrysmGenesis) WithLogger added in v1.18.6

func (g *PrysmGenesis) WithLogger(l zerolog.Logger) *PrysmGenesis

func (*PrysmGenesis) WithTestLogger added in v1.19.0

func (g *PrysmGenesis) WithTestLogger(t *testing.T) *PrysmGenesis

type PrysmValidator added in v1.18.6

type PrysmValidator struct {
	EnvComponent
	// contains filtered or unexported fields
}

func NewPrysmValidator added in v1.18.6

func NewPrysmValidator(networks []string, consensusDir, internalBeaconRpcProvider string, opts ...EnvComponentOption) *PrysmValidator

func (*PrysmValidator) StartContainer added in v1.18.6

func (g *PrysmValidator) StartContainer() error

func (*PrysmValidator) WithLogger added in v1.18.6

func (g *PrysmValidator) WithLogger(l zerolog.Logger) *PrysmValidator

func (*PrysmValidator) WithTestLogger added in v1.19.0

func (g *PrysmValidator) WithTestLogger(t *testing.T) *PrysmValidator

type RpcProvider added in v1.18.6

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

func (*RpcProvider) PrivateHttpUrls added in v1.18.6

func (s *RpcProvider) PrivateHttpUrls() []string

func (*RpcProvider) PrivateWsUrsl added in v1.18.6

func (s *RpcProvider) PrivateWsUrsl() []string

func (*RpcProvider) PublicHttpUrls added in v1.18.6

func (s *RpcProvider) PublicHttpUrls() []string

func (*RpcProvider) PublicWsUrls added in v1.19.0

func (s *RpcProvider) PublicWsUrls() []string

type SchemaRegistry added in v1.17.11

type SchemaRegistry struct {
	EnvComponent
	EnvVars     map[string]string
	InternalUrl string
	ExternalUrl string
	// contains filtered or unexported fields
}

func NewSchemaRegistry added in v1.17.11

func NewSchemaRegistry(networks []string) *SchemaRegistry

func (*SchemaRegistry) StartContainer added in v1.17.11

func (r *SchemaRegistry) StartContainer() error

func (*SchemaRegistry) WithContainerName added in v1.17.11

func (r *SchemaRegistry) WithContainerName(name string) *SchemaRegistry

func (*SchemaRegistry) WithEnvVars added in v1.17.11

func (r *SchemaRegistry) WithEnvVars(envVars map[string]string) *SchemaRegistry

func (*SchemaRegistry) WithKafka added in v1.17.11

func (r *SchemaRegistry) WithKafka(kafkaUrl string) *SchemaRegistry

func (*SchemaRegistry) WithTestLogger added in v1.17.11

func (r *SchemaRegistry) WithTestLogger(t *testing.T) *SchemaRegistry

type WebSocketStrategy added in v1.16.1

type WebSocketStrategy struct {
	Port       nat.Port
	RetryDelay time.Duration
	// contains filtered or unexported fields
}

func NewWebSocketStrategy added in v1.16.1

func NewWebSocketStrategy(port nat.Port, l zerolog.Logger) *WebSocketStrategy

func (*WebSocketStrategy) WaitUntilReady added in v1.16.1

func (w *WebSocketStrategy) WaitUntilReady(ctx context.Context, target tcwait.StrategyTarget) (err error)

func (*WebSocketStrategy) WithTimeout added in v1.16.2

func (w *WebSocketStrategy) WithTimeout(timeout time.Duration) *WebSocketStrategy

type Zookeeper added in v1.17.11

type Zookeeper struct {
	EnvComponent
	InternalUrl string
	// contains filtered or unexported fields
}

func NewZookeeper added in v1.17.11

func NewZookeeper(networks []string) *Zookeeper

func (*Zookeeper) StartContainer added in v1.17.11

func (z *Zookeeper) StartContainer() error

func (*Zookeeper) WithContainerName added in v1.17.11

func (z *Zookeeper) WithContainerName(name string) *Zookeeper

func (*Zookeeper) WithTestLogger added in v1.17.11

func (z *Zookeeper) WithTestLogger(t *testing.T) *Zookeeper

Jump to

Keyboard shortcuts

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