-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
12f49f5
commit 5c79aad
Showing
5 changed files
with
207 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
# Example of full config with all fields | ||
# General part | ||
[ChainlinkImage] | ||
image="public.ecr.aws/chainlink/chainlink" | ||
version="2.7.0" | ||
|
||
[Logging] | ||
# if set to true will save logs even if test did not fail | ||
test_log_collect=false | ||
|
||
[Logging.LogStream] | ||
# supported targets: file, loki, in-memory. if empty no logs will be persistet | ||
log_targets=["file"] | ||
# context timeout for starting log producer and also time-frame for requesting logs | ||
log_producer_timeout="10s" | ||
# number of retries before log producer gives up and stops listening to logs | ||
log_producer_retry_limit=10 | ||
|
||
[Logging.Loki] | ||
tenant_id="tenant_id" | ||
# full URL of Loki ingest endpoint | ||
endpoint="https://loki.url/api/v3/push" | ||
# currently only needed when using public instance | ||
basic_auth="loki-basic-auth" | ||
# only needed for cloud grafana | ||
bearer_token="bearer_token" | ||
|
||
# LogStream will try to shorten Grafana URLs by default (if all 3 variables are set) | ||
[Logging.Grafana] | ||
# grafana url (trailing "/" will be stripped) | ||
base_url="http://grafana.url" | ||
# url of your grafana dashboard (prefix and suffix "/" are stirpped), example: /d/ad61652-2712-1722/my-dashboard | ||
dashboard_url="/d/your-dashboard" | ||
bearer_token="my-awesome-token" | ||
|
||
# if you want to use polygon_mumbial | ||
[Network] | ||
selected_networks=["polygon_mumbai"] | ||
|
||
[Network.RpcHttpUrls] | ||
polygon_mumbai = ["https://my-rpc-endpoint.io"] | ||
|
||
[Network.RpcWsUrls] | ||
polygon_mumbai = ["https://my-rpc-endpoint.io"] | ||
|
||
[Network.WalletKeys] | ||
polygon_mumbai = ["change-me-to-your-PK"] | ||
|
||
[PrivateEthereumNetwork] | ||
# pos or pow | ||
consensus_type="pos" | ||
# only prysm supported currently | ||
consensus_layer="prysm" | ||
# geth, besu, nethermind or erigon | ||
execution_layer="geth" | ||
# if true after env started it will wait for at least 1 epoch to be finalised before continuing | ||
wait_for_finalization=false | ||
|
||
[PrivateEthereumNetwork.EthereumChainConfig] | ||
# duration of single slot, lower => faster block production, must be >= 4 | ||
seconds_per_slot=12 | ||
# numer of slots in epoch, lower => faster epoch finalisation, must be >= 4 | ||
slots_per_epoch=6 | ||
# extra genesis gelay, no need to modify, but it should be after all validators/beacon chain starts | ||
genesis_delay=15 | ||
# number of validators in the network | ||
validator_count=8 | ||
chain_id=1337 | ||
# list of addresses to be prefunded in genesis | ||
addresses_to_fund=["0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"] | ||
|
||
# load test specific configuration | ||
[Load.OCR] | ||
[Load.OCR.Common] | ||
eth_funds = 3 | ||
|
||
[Load.OCR.Load] | ||
test_duration = "3m" | ||
rate_limit_unit_duration = "1m" | ||
rate = 3 | ||
verification_interval = "5s" | ||
verification_timeout = "3m" | ||
ea_change_interval = "5s" | ||
|
||
# soak test specific configuration | ||
[Soak.Common] | ||
chainlink_node_funding = 100 | ||
|
||
[Soak.OCR] | ||
[Soak.OCR.Common] | ||
test_duration="15m" | ||
|
||
[Soak.OCR.Soak] | ||
ocr_version="1" | ||
number_of_contracts=2 | ||
time_between_rounds="1m" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
package ocr | ||
|
||
import ( | ||
"errors" | ||
|
||
"github.com/smartcontractkit/chainlink-testing-framework/blockchain" | ||
) | ||
|
||
type Config struct { | ||
Soak *SoakConfig `toml:"Soak"` | ||
Common *Common `toml:"Common"` | ||
} | ||
|
||
func (o *Config) Validate() error { | ||
if o.Common != nil { | ||
if err := o.Common.Validate(); err != nil { | ||
return err | ||
} | ||
} | ||
if o.Soak != nil { | ||
if err := o.Soak.Validate(); err != nil { | ||
return err | ||
} | ||
} | ||
return nil | ||
} | ||
|
||
type Common struct { | ||
ETHFunds *int `toml:"eth_funds"` | ||
TestDuration *blockchain.StrDuration `toml:"test_duration"` | ||
} | ||
|
||
func (o *Common) Validate() error { | ||
if o.ETHFunds != nil && *o.ETHFunds < 0 { | ||
return errors.New("eth_funds must be set and cannot be negative") | ||
} | ||
return nil | ||
} | ||
|
||
type SoakConfig struct { | ||
OCRVersion *string `toml:"ocr_version"` | ||
NumberOfContracts *int `toml:"number_of_contracts"` | ||
TimeBetweenRounds *blockchain.StrDuration `toml:"time_between_rounds"` | ||
} | ||
|
||
func (o *SoakConfig) Validate() error { | ||
if o.OCRVersion == nil || *o.OCRVersion == "" { | ||
return errors.New("ocr_version must be set to either 1 or 2") | ||
} | ||
if o.NumberOfContracts == nil || *o.NumberOfContracts <= 1 { | ||
return errors.New("number_of_contracts must be set and be greater than 1") | ||
} | ||
if o.TimeBetweenRounds == nil || o.TimeBetweenRounds.Duration == 0 { | ||
return errors.New("time_between_rounds must be set and be a positive integer") | ||
} | ||
return nil | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# product defaults | ||
[Common] | ||
chainlink_node_funding = 0.5 | ||
|
||
# load test specific configuration | ||
[Load.OCR] | ||
[Load.OCR.Common] | ||
eth_funds = 3 | ||
|
||
[Load.OCR.Load] | ||
test_duration = "3m" | ||
rate_limit_unit_duration = "1m" | ||
rate = 3 | ||
verification_interval = "5s" | ||
verification_timeout = "3m" | ||
ea_change_interval = "5s" | ||
|
||
# volume test specific configuration | ||
[Volume.OCR] | ||
[Volume.OCR.Common] | ||
eth_funds = 3 | ||
|
||
[Volume.OCR.Volume] | ||
test_duration = "3m" | ||
rate_limit_unit_duration = "1m" | ||
vu_requests_per_unit = 10 | ||
rate = 1 | ||
verification_interval = "5s" | ||
verification_timeout = "3m" | ||
ea_change_interval = "5s" | ||
|
||
# soak test specific configuration | ||
[Soak.Common] | ||
chainlink_node_funding = 100 | ||
|
||
[Soak.OCR] | ||
[Soak.OCR.Common] | ||
test_duration="15m" | ||
|
||
[Soak.OCR.Soak] | ||
ocr_version="1" | ||
number_of_contracts=2 | ||
time_between_rounds="1m" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters