Documentation ¶
Index ¶
- Constants
- Variables
- func BytesToAnyTomlStruct(logger zerolog.Logger, filename, configurationName string, target any, ...) error
- func LoadSecretEnvsFromFiles() error
- func MightConfigOverridePyroscopeKey(config *PyroscopeConfig, target interface{})
- func MustConfigOverrideChainlinkVersion(config *ChainlinkImageConfig, target interface{})
- func MustReadEnvVar_Boolean(name string) *bool
- func MustReadEnvVar_String(name string) string
- func MustReadEnvVar_Strings(name, sep string) []string
- func ReadEnvVarGroupedMap(singleEnvPattern, groupEnvPattern string) map[string][]string
- func ReadEnvVarSlice_String(pattern string) []string
- type AnvilConfig
- type ChainlinkImageConfig
- type ConsensusLayer
- type ConsensusTypedeprecated
- type ContainerType
- type EnvValueType
- type EthereumChainConfig
- func (c *EthereumChainConfig) ApplyOverrides(from *EthereumChainConfig) error
- func (c *EthereumChainConfig) Default() error
- func (c *EthereumChainConfig) DefaultFinalizationWaitDuration() time.Duration
- func (c *EthereumChainConfig) DefaultWaitDuration() time.Duration
- func (c *EthereumChainConfig) FillInMissingValuesWithDefault()
- func (c *EthereumChainConfig) GenerateGenesisTimestamp()
- func (c *EthereumChainConfig) Validate(l zerolog.Logger, ethereumVersion *config_types.EthereumVersion, ...) error
- func (c *EthereumChainConfig) ValidateHardForks(l zerolog.Logger, ethereumVersion *config_types.EthereumVersion, ...) error
- func (c *EthereumChainConfig) ValidatorBasedGenesisDelay() int
- type EthereumNetworkConfig
- type EthereumNetworkContainer
- type EthereumNetworkContainers
- type GasLimitSimulationConfig
- type GasSpikeSimulationConfig
- type GlobalTestConfig
- type GrafanaConfig
- type LogStreamConfig
- type LoggingConfig
- type LokiConfig
- type NamedConfigurations
- type NetworkConfig
- type NodeConfig
- type PyroscopeConfig
- type ReorgConfig
- type SethConfig
- type TestConfig
- func (c TestConfig) GetChainlinkImageConfig() *ChainlinkImageConfig
- func (c *TestConfig) GetLoggingConfig() *LoggingConfig
- func (c TestConfig) GetNetworkConfig() *NetworkConfig
- func (c *TestConfig) GetNodeConfig() *NodeConfig
- func (c TestConfig) GetPrivateEthereumNetworkConfig() *EthereumNetworkConfig
- func (c TestConfig) GetPyroscopeConfig() *PyroscopeConfig
- func (c *TestConfig) ReadFromEnvVar() error
- type WaspAutoBuildConfig
Constants ¶
const ( E2E_TEST_LOG_COLLECT_ENV = "E2E_TEST_LOG_COLLECT" E2E_TEST_LOGGING_RUN_ID_ENV = "E2E_TEST_LOGGING_RUN_ID" E2E_TEST_LOG_STREAM_LOG_TARGETS_ENV = "E2E_TEST_LOG_STREAM_LOG_TARGETS" E2E_TEST_LOKI_TENANT_ID_ENV = "E2E_TEST_LOKI_TENANT_ID" E2E_TEST_LOKI_ENDPOINT_ENV = "E2E_TEST_LOKI_ENDPOINT" E2E_TEST_LOKI_BASIC_AUTH_ENV = "E2E_TEST_LOKI_BASIC_AUTH" E2E_TEST_LOKI_BEARER_TOKEN_ENV = "E2E_TEST_LOKI_BEARER_TOKEN" // #nosec G101 E2E_TEST_GRAFANA_BASE_URL_ENV = "E2E_TEST_GRAFANA_BASE_URL" E2E_TEST_GRAFANA_DASHBOARD_URL_ENV = "E2E_TEST_GRAFANA_DASHBOARD_URL" E2E_TEST_GRAFANA_BEARER_TOKEN_ENV = "E2E_TEST_GRAFANA_BEARER_TOKEN" // #nosec G101 E2E_TEST_PYROSCOPE_ENABLED_ENV = "E2E_TEST_PYROSCOPE_ENABLED" E2E_TEST_PYROSCOPE_SERVER_URL_ENV = "E2E_TEST_PYROSCOPE_SERVER_URL" E2E_TEST_PYROSCOPE_KEY_ENV = "E2E_TEST_PYROSCOPE_KEY" E2E_TEST_PYROSCOPE_ENVIRONMENT_ENV = "E2E_TEST_PYROSCOPE_ENVIRONMENT" E2E_TEST_CHAINLINK_IMAGE_ENV = "E2E_TEST_CHAINLINK_IMAGE" E2E_TEST_CHAINLINK_VERSION_ENV = "E2E_TEST_CHAINLINK_VERSION" E2E_TEST_CHAINLINK_POSTGRES_VERSION_ENV = "E2E_TEST_CHAINLINK_POSTGRES_VERSION" E2E_TEST_CHAINLINK_UPGRADE_IMAGE_ENV = "E2E_TEST_CHAINLINK_UPGRADE_IMAGE" E2E_TEST_CHAINLINK_UPGRADE_VERSION_ENV = "E2E_TEST_CHAINLINK_UPGRADE_VERSION" E2E_TEST_SELECTED_NETWORK_ENV = `E2E_TEST_SELECTED_NETWORK` E2E_TEST_WALLET_KEY_ENV = `E2E_TEST_(.+)_WALLET_KEY$` E2E_TEST_WALLET_KEYS_ENV = `E2E_TEST_(.+)_WALLET_KEY_(\d+)$` E2E_TEST_RPC_HTTP_URL_ENV = `E2E_TEST_(.+)_RPC_HTTP_URL$` E2E_TEST_RPC_HTTP_URLS_ENV = `E2E_TEST_(.+)_RPC_HTTP_URL_(\d+)$` E2E_TEST_RPC_WS_URL_ENV = `E2E_TEST_(.+)_RPC_WS_URL$` E2E_TEST_RPC_WS_URLS_ENV = `E2E_TEST_(.+)_RPC_WS_URL_(\d+)$` )
Variables ¶
var ( ErrMissingEthereumVersion = errors.New("ethereum version is required") ErrMissingExecutionLayer = errors.New("execution layer is required") Eth1NotSupportedByRethMsg = "eth1 is not supported by Reth, please use eth2" DefaultNodeLogLevel = "info" )
Functions ¶
func BytesToAnyTomlStruct ¶
func BytesToAnyTomlStruct(logger zerolog.Logger, filename, configurationName string, target any, content []byte) error
BytesToAnyTomlStruct unmarshals the given bytes into the given target struct, apart from unmarshalling the root it also looks for given configuration name and unmarshals it into the target struct overwriting the root. Target needs to be a struct with exported fields with `toml:"field_name"` tags.
func LoadSecretEnvsFromFiles ¶
func LoadSecretEnvsFromFiles() error
func MightConfigOverridePyroscopeKey ¶
func MightConfigOverridePyroscopeKey(config *PyroscopeConfig, target interface{})
MightConfigOverridePyroscope will override the pyroscope config in property maps from the passed config. If the config is nil, or the enabled flag is not set, or the key is not set, then this function will do nothing.
func MustConfigOverrideChainlinkVersion ¶
func MustConfigOverrideChainlinkVersion(config *ChainlinkImageConfig, target interface{})
MustConfigOverrideChainlinkVersion will override the chainlink image and version in property maps from the passed config. It will panic if the config is nil.
func MustReadEnvVar_Boolean ¶
func MustReadEnvVar_String ¶
func MustReadEnvVar_Strings ¶
func ReadEnvVarGroupedMap ¶
ReadEnvVarGroupedMap combines environment variables into a map where keys map to slices of strings. It accepts `singleEnvPattern` for single variables and `groupEnvPattern` for grouped variables. Returns a map combining values from both patterns, with single values wrapped in slices.
func ReadEnvVarSlice_String ¶
ReadEnvVarSlice_String reads all environment variables matching the specified pattern and returns a slice of strings.
Types ¶
type AnvilConfig ¶
type AnvilConfig struct { URL *string `toml:"url,omitempty"` // Needed if you want to fork a network. URL is the URL of the node to fork from. Refer to https://book.getfoundry.sh/reference/anvil/#options BlockNumber *int64 `toml:"block_number,omitempty"` // Needed if fork URL is provided for forking. BlockNumber is the block number to fork from. Refer to https://book.getfoundry.sh/reference/anvil/#options BlockTime *int64 `toml:"block_time,omitempty"` // how frequent blocks are mined. By default, it automatically generates a new block as soon as a transaction is submitted. Refer to https://book.getfoundry.sh/reference/anvil/#options BlockGaslimit *int64 `toml:"block_gaslimit,omitempty"` // BlockGaslimit is the gas limit for each block. Refer to https://book.getfoundry.sh/reference/anvil/#options CodeSize *int64 `toml:"code_size,omitempty"` // CodeSize is the size of the code in bytes. Refer to https://book.getfoundry.sh/reference/anvil/#options BaseFee *int64 `toml:"base_fee,omitempty"` // BaseFee is the base fee for block. Refer to https://book.getfoundry.sh/reference/anvil/#options Retries *int `toml:"retries,omitempty"` // Needed if fork URL is provided for forking. Number of retry requests for spurious networks (timed out requests). Refer to https://book.getfoundry.sh/reference/anvil/#options Timeout *int64 `toml:"timeout,omitempty"` // Needed if fork URL is provided for forking. Timeout in ms for requests sent to remote JSON-RPC server in forking mode. Refer to https://book.getfoundry.sh/reference/anvil/#options ComputePerSecond *int64 `toml:"compute_per_second,omitempty"` // Needed if fork URL is provided for forking. Sets the number of assumed available compute units per second for this provider. Refer to https://book.getfoundry.sh/reference/anvil/#options RateLimitDisabled *bool `toml:"rate_limit_disabled,omitempty"` // Needed if fork URL is provided for forking. Rate limiting for this node’s provider. If set to true the node will start with --no-rate-limit Refer to https://book.getfoundry.sh/reference/anvil/#options NoOfAccounts *int `toml:"no_of_accounts,omitempty"` // Number of accounts to generate. Refer to https://book.getfoundry.sh/reference/anvil/#options EnableTracing *bool `toml:"enable_tracing,omitempty"` // Enable tracing for the node. Refer to https://book.getfoundry.sh/reference/anvil/#options BlocksToKeepInMem *int64 `toml:"blocks_to_keep_in_mem,omitempty"` // Refer to --transaction-block-keeper option in https://book.getfoundry.sh/reference/anvil/#options GasSpikeSimulation GasSpikeSimulationConfig `toml:"GasSpikeSimulation,omitempty"` GasLimitSimulation GasLimitSimulationConfig `toml:"GasLimitSimulation,omitempty"` }
type ChainlinkImageConfig ¶
type ChainlinkImageConfig struct { Image *string `toml:"-"` Version *string `toml:"version"` PostgresVersion *string `toml:"postgres_version,omitempty"` }
func (*ChainlinkImageConfig) Validate ¶
func (c *ChainlinkImageConfig) Validate() error
Validate checks that the chainlink image config is valid, which means that both image and version are set and non-empty
type ConsensusType
deprecated
type ConsensusType string
Deprecated: use EthereumVersion instead
const ( // Deprecated: use EthereumVersion_Eth2 instead ConsensusType_PoS ConsensusType = "pos" // Deprecated: use EthereumVersion_Eth1 instead ConsensusType_PoW ConsensusType = "pow" )
type ContainerType ¶
type ContainerType string
const ( ContainerType_ExecutionLayer ContainerType = "execution_layer" ContainerType_ConsensusLayer ContainerType = "consensus_layer" ContainerType_ConsensusValidator ContainerType = "consensus_validator" ContainerType_GenesisGenerator ContainerType = "genesis_generator" ContainerType_ValKeysGenerator ContainerType = "val_keys_generator" )
type EnvValueType ¶
type EnvValueType int
const ( String EnvValueType = iota Integer Boolean Float )
type EthereumChainConfig ¶
type EthereumChainConfig struct { SecondsPerSlot int `json:"seconds_per_slot" toml:"seconds_per_slot"` SlotsPerEpoch int `json:"slots_per_epoch" toml:"slots_per_epoch"` GenesisDelay int `json:"genesis_delay" toml:"genesis_delay"` ValidatorCount int `json:"validator_count" toml:"validator_count"` ChainID int `json:"chain_id" toml:"chain_id"` GenesisTimestamp int // this is not serialized AddressesToFund []string `json:"addresses_to_fund" toml:"addresses_to_fund"` HardForkEpochs map[string]int `json:"HardForkEpochs" toml:"HardForkEpochs"` }
func MustGetDefaultChainConfig ¶
func MustGetDefaultChainConfig() EthereumChainConfig
MustGetDefaultChainConfig returns the default EthereumChainConfig or panics if it can't be loaded
func (*EthereumChainConfig) ApplyOverrides ¶
func (c *EthereumChainConfig) ApplyOverrides(from *EthereumChainConfig) error
ApplyOverrides applies overrides from another EthereumChainConfig
func (*EthereumChainConfig) Default ¶
func (c *EthereumChainConfig) Default() error
Default sets the EthereumChainConfig to the default values
func (*EthereumChainConfig) DefaultFinalizationWaitDuration ¶
func (c *EthereumChainConfig) DefaultFinalizationWaitDuration() time.Duration
DefaultFinalizationWaitDuration returns the default wait duration for finalization
func (*EthereumChainConfig) DefaultWaitDuration ¶
func (c *EthereumChainConfig) DefaultWaitDuration() time.Duration
DefaultWaitDuration returns the default wait duration for the network based on the genesis delay and the number of validators
func (*EthereumChainConfig) FillInMissingValuesWithDefault ¶
func (c *EthereumChainConfig) FillInMissingValuesWithDefault()
FillInMissingValuesWithDefault fills in missing/zero values with default values
func (*EthereumChainConfig) GenerateGenesisTimestamp ¶
func (c *EthereumChainConfig) GenerateGenesisTimestamp()
func (*EthereumChainConfig) Validate ¶
func (c *EthereumChainConfig) Validate(l zerolog.Logger, ethereumVersion *config_types.EthereumVersion, executionLayer *config_types.ExecutionLayer, customDockerImages map[ContainerType]string) error
Validate validates the EthereumChainConfig
func (*EthereumChainConfig) ValidateHardForks ¶
func (c *EthereumChainConfig) ValidateHardForks(l zerolog.Logger, ethereumVersion *config_types.EthereumVersion, executionLayer *config_types.ExecutionLayer, customDockerImages map[ContainerType]string) error
ValidateHardForks validates hard forks based either on custom or default docker images for eth2 execution layer
func (*EthereumChainConfig) ValidatorBasedGenesisDelay ¶
func (c *EthereumChainConfig) ValidatorBasedGenesisDelay() int
ValidatorBasedGenesisDelay returns the delay in seconds based on the number of validators
type EthereumNetworkConfig ¶
type EthereumNetworkConfig struct { ConsensusType *config_types.EthereumVersion `toml:"consensus_type"` EthereumVersion *config_types.EthereumVersion `toml:"ethereum_version"` ConsensusLayer *ConsensusLayer `toml:"consensus_layer"` ExecutionLayer *config_types.ExecutionLayer `toml:"execution_layer"` DockerNetworkNames []string `toml:"docker_network_names"` Containers EthereumNetworkContainers `toml:"containers"` WaitForFinalization *bool `toml:"wait_for_finalization"` GeneratedDataHostDir *string `toml:"generated_data_host_dir"` ValKeysDir *string `toml:"val_keys_dir"` EthereumChainConfig *EthereumChainConfig `toml:"EthereumChainConfig"` CustomDockerImages map[ContainerType]string `toml:"CustomDockerImages"` NodeLogLevel *string `toml:"node_log_level,omitempty"` }
func (*EthereumNetworkConfig) ApplyOverrides ¶
func (en *EthereumNetworkConfig) ApplyOverrides(from *EthereumNetworkConfig) error
func (*EthereumNetworkConfig) Describe ¶
func (en *EthereumNetworkConfig) Describe() string
func (*EthereumNetworkConfig) Validate ¶
func (en *EthereumNetworkConfig) Validate() error
type EthereumNetworkContainer ¶
type EthereumNetworkContainer struct { ContainerName string `toml:"container_name"` ContainerType ContainerType `toml:"container_type"` Container *tc.Container `toml:"-"` }
type EthereumNetworkContainers ¶
type EthereumNetworkContainers []EthereumNetworkContainer
type GasLimitSimulationConfig ¶
type GasLimitSimulationConfig struct { Enabled bool `toml:"enabled,omitempty"` NextGasLimitPercentage float64 `toml:"next_gas_limit_percentage,omitempty"` // Percentage of last gasUsed in previous block creating congestion DelayCreate blockchain.StrDuration `toml:"delay_create,omitempty"` // Delay before creating, expressed in Go duration format (e.g., "1m", "30s") Duration blockchain.StrDuration `toml:"duration,omitempty"` // Duration of the gas simulation, expressed in Go duration format (e.g., "1m", "30s") }
GasLimitSimulationConfig is the configuration for simulating gas limit changes on the network
type GasSpikeSimulationConfig ¶
type GasSpikeSimulationConfig struct { Enabled bool `toml:"enabled,omitempty"` StartGasPrice int64 `toml:"start_gas_price,omitempty"` GasRisePercentage float64 `toml:"gas_rise_percentage,omitempty"` GasSpike bool `toml:"gas_spike,omitempty"` DelayCreate blockchain.StrDuration `toml:"delay_create,omitempty"` // Delay before creating, expressed in Go duration format (e.g., "1m", "30s") Duration blockchain.StrDuration `toml:"duration,omitempty"` // Duration of the gas simulation, expressed in Go duration format (e.g., "1m", "30s") }
GasSpikeSimulation is the configuration for simulating gas spikes on the network
type GlobalTestConfig ¶
type GlobalTestConfig interface { GetChainlinkImageConfig() *ChainlinkImageConfig GetLoggingConfig() *LoggingConfig GetNetworkConfig() *NetworkConfig GetPrivateEthereumNetworkConfig() *EthereumNetworkConfig GetPyroscopeConfig() *PyroscopeConfig GetNodeConfig() *NodeConfig SethConfig }
type GrafanaConfig ¶
type GrafanaConfig struct { BaseUrl *string `toml:"base_url"` DashboardUrl *string `toml:"dashboard_url"` DashboardUID *string `toml:"dashboard_uid"` // UID of the dashboard to put annotations on BearerToken *string `toml:"-"` }
func (*GrafanaConfig) Validate ¶
func (c *GrafanaConfig) Validate() error
Validate checks that the grafana config is valid, which means that base url is a valid URL and dashboard url and bearer token are not empty but that only applies if they are set
type LogStreamConfig ¶
type LogStreamConfig struct { LogTargets []string `toml:"log_targets"` LogProducerTimeout *blockchain.StrDuration `toml:"log_producer_timeout"` LogProducerRetryLimit *uint `toml:"log_producer_retry_limit"` }
func (*LogStreamConfig) Validate ¶
func (l *LogStreamConfig) Validate() error
Validate checks that the log stream config is valid, which means that log targets are valid and log producer timeout is greater than 0
type LoggingConfig ¶
type LoggingConfig struct { TestLogCollect *bool `toml:"test_log_collect,omitempty"` ShowHTMLCoverageReport *bool `toml:"show_html_coverage_report,omitempty"` // Show reports with go coverage data RunId *string `toml:"run_id,omitempty"` Loki *LokiConfig `toml:"-"` Grafana *GrafanaConfig `toml:"Grafana,omitempty"` LogStream *LogStreamConfig `toml:"LogStream,omitempty"` }
func (*LoggingConfig) Validate ¶
func (l *LoggingConfig) Validate() error
Validate executes config validation for LogStream, Grafana and Loki
type LokiConfig ¶
type LokiConfig struct { TenantId *string `toml:"-"` Endpoint *string `toml:"-"` BasicAuth *string `toml:"-"` BearerToken *string `toml:"-"` }
func (*LokiConfig) Validate ¶
func (l *LokiConfig) Validate() error
Validate checks that the loki config is valid, which means that endpoint is a valid URL and tenant id is not empty
type NamedConfigurations ¶
type NamedConfigurations interface {
GetConfigurationNames() []string
}
type NetworkConfig ¶
type NetworkConfig struct { SelectedNetworks []string `toml:"selected_networks,omitempty"` // EVMNetworks is the configuration for the EVM networks, key is the network name as declared in selected_networks slice. // if not set, it will try to find the network from defined networks in MappedNetworks under known_networks.go EVMNetworks map[string]*blockchain.EVMNetwork `toml:"EVMNetworks,omitempty"` // AnvilConfigs is the configuration for forking from a node, // key is the network name as declared in selected_networks slice AnvilConfigs map[string]*AnvilConfig `toml:"AnvilConfigs,omitempty"` // GethReorgConfig is the configuration for handling reorgs on Simulated Geth GethReorgConfig ReorgConfig `toml:"GethReorgConfig,omitempty"` // RpcHttpUrls is the RPC HTTP endpoints for each network, // key is the network name as declared in selected_networks slice RpcHttpUrls map[string][]string `toml:"RpcHttpUrls,omitempty"` // RpcWsUrls is the RPC WS endpoints for each network, // key is the network name as declared in selected_networks slice RpcWsUrls map[string][]string `toml:"RpcWsUrls,omitempty"` // WalletKeys is the private keys for the funding wallets for each network, // key is the network name as declared in selected_networks slice WalletKeys map[string][]string `toml:"WalletKeys,omitempty"` }
NetworkConfig is the configuration for the networks to be used
func (NetworkConfig) IsSimulatedGethSelected ¶
func (n NetworkConfig) IsSimulatedGethSelected() bool
func (*NetworkConfig) OverrideURLsAndKeysFromEVMNetwork ¶
func (n *NetworkConfig) OverrideURLsAndKeysFromEVMNetwork()
OverrideURLsAndKeysFromEVMNetwork applies the URLs and keys from the EVMNetworks to the NetworkConfig it overrides the URLs and Keys present in RpcHttpUrls, RpcWsUrls and WalletKeys in the NetworkConfig with the URLs and Keys provided in the EVMNetworks
func (*NetworkConfig) UpperCaseNetworkNames ¶
func (n *NetworkConfig) UpperCaseNetworkNames()
UpperCaseNetworkNames converts all network name keys for wallet keys, rpc endpoints maps and selected network slice to upper case
func (*NetworkConfig) Validate ¶
func (n *NetworkConfig) Validate() error
Validate checks if all required fields are set, meaning that there must be at least 1 selected network and unless it's a simulated network, there must be at least 1 rpc endpoint for HTTP and WS and 1 private key for funding wallet
type NodeConfig ¶
type PyroscopeConfig ¶
type PyroscopeConfig struct { Enabled *bool `toml:"enabled"` ServerUrl *string `toml:"-"` Key *string `toml:"-"` Environment *string `toml:"-"` }
func (*PyroscopeConfig) Validate ¶
func (c *PyroscopeConfig) Validate() error
Validate checks that the pyroscope config is valid, which means that server url, environment and key are set and non-empty, but only if pyroscope is enabled
type ReorgConfig ¶
type ReorgConfig struct { Enabled bool `toml:"enabled,omitempty"` Depth int `toml:"depth,omitempty"` DelayCreate blockchain.StrDuration `toml:"delay_create,omitempty"` // Delay before creating, expressed in Go duration format (e.g., "1m", "30s") }
type SethConfig ¶
type TestConfig ¶
type TestConfig struct { ChainlinkImage *ChainlinkImageConfig `toml:"ChainlinkImage"` ChainlinkUpgradeImage *ChainlinkImageConfig `toml:"ChainlinkUpgradeImage"` Logging *LoggingConfig `toml:"Logging"` Network *NetworkConfig `toml:"Network"` Pyroscope *PyroscopeConfig `toml:"Pyroscope"` PrivateEthereumNetwork *EthereumNetworkConfig `toml:"PrivateEthereumNetwork"` WaspConfig *WaspAutoBuildConfig `toml:"WaspAutoBuild"` Seth *seth.Config `toml:"Seth"` NodeConfig *NodeConfig `toml:"NodeConfig"` }
func (TestConfig) GetChainlinkImageConfig ¶
func (c TestConfig) GetChainlinkImageConfig() *ChainlinkImageConfig
func (*TestConfig) GetLoggingConfig ¶
func (c *TestConfig) GetLoggingConfig() *LoggingConfig
func (TestConfig) GetNetworkConfig ¶
func (c TestConfig) GetNetworkConfig() *NetworkConfig
func (*TestConfig) GetNodeConfig ¶
func (c *TestConfig) GetNodeConfig() *NodeConfig
func (TestConfig) GetPrivateEthereumNetworkConfig ¶
func (c TestConfig) GetPrivateEthereumNetworkConfig() *EthereumNetworkConfig
func (TestConfig) GetPyroscopeConfig ¶
func (c TestConfig) GetPyroscopeConfig() *PyroscopeConfig
func (*TestConfig) ReadFromEnvVar ¶
func (c *TestConfig) ReadFromEnvVar() error
Read config values from environment variables
type WaspAutoBuildConfig ¶
type WaspAutoBuildConfig struct { Namespace *string `toml:"namespace"` RepoImageVersionURI *string `toml:"repo_image_version_uri"` TestBinaryName *string `toml:"test_binary_name"` TestName *string `toml:"test_name"` TestTimeout *string `toml:"test_timeout"` KeepJobs bool `toml:"keep_jobs"` WaspLogLevel *string `toml:"wasp_log_level"` WaspJobs *string `toml:"wasp_jobs"` UpdateImage bool `toml:"update_image"` }
func (*WaspAutoBuildConfig) Validate ¶
func (c *WaspAutoBuildConfig) Validate() error