Documentation ¶
Overview ¶
Package testsetups compresses common test setups and more complicated setups like performance and chaos tests.
Index ¶
- func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
- func ShutDown(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
- func ShutDownConfirm(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
- func StartRemoteControlServer(name string, stopChan chan struct{})
- type ChainlinkProfileTest
- type ChainlinkProfileTestInputs
- type KeeperBlockTimeTest
- type KeeperBlockTimeTestInputs
- type OCRSoakTest
- type OCRSoakTestInputs
- type VRFV2SoakTest
- type VRFV2SoakTestInputs
- type VRFV2SoakTestTestFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Index ¶ added in v1.1.22
func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
Index to see barbones running statistics
func ShutDown ¶ added in v1.1.22
func ShutDown(w http.ResponseWriter, r *http.Request, _ httprouter.Params)
ShutDown attempts to gracefully shut down the running test
func ShutDownConfirm ¶ added in v1.1.22
func ShutDownConfirm(w http.ResponseWriter, r *http.Request, ps httprouter.Params)
ShutDownConfirm requires the user to enter a randomly generated code to shut down the test
func StartRemoteControlServer ¶ added in v1.1.22
func StartRemoteControlServer(name string, stopChan chan struct{})
StartRemoteControlServer starts a server to control soak test shut downs. Shutdown signal is sent to the stopChan
Types ¶
type ChainlinkProfileTest ¶ added in v1.1.22
type ChainlinkProfileTest struct { Inputs ChainlinkProfileTestInputs TestReporter testreporters.ChainlinkProfileTestReporter // contains filtered or unexported fields }
ChainlinkProfileTest runs a piece of code on Chainlink nodes with PPROF enabled, then downloads the PPROF results
func NewChainlinkProfileTest ¶ added in v1.1.22
func NewChainlinkProfileTest(inputs ChainlinkProfileTestInputs) *ChainlinkProfileTest
NewChainlinkProfileTest prepares a new keeper Chainlink profiling test to be run
func (*ChainlinkProfileTest) Run ¶ added in v1.1.22
func (c *ChainlinkProfileTest) Run()
Run runs the profiling test
func (*ChainlinkProfileTest) Setup ¶ added in v1.1.22
func (c *ChainlinkProfileTest) Setup(env *environment.Environment)
Setup prepares contracts for the test
func (*ChainlinkProfileTest) TearDownVals ¶ added in v1.1.22
func (c *ChainlinkProfileTest) TearDownVals() (*environment.Environment, *blockchain.Networks, []client.Chainlink, testreporters.TestReporter)
Networks returns the networks that the test is running on
type ChainlinkProfileTestInputs ¶ added in v1.1.22
type ChainlinkProfileTestInputs struct { ProfileFunction func(client.Chainlink) ProfileDuration time.Duration ChainlinkNodes []client.Chainlink }
ChainlinkProfileTestInputs are the inputs necessary to run a profiling tests
type KeeperBlockTimeTest ¶
type KeeperBlockTimeTest struct { Inputs KeeperBlockTimeTestInputs TestReporter testreporters.KeeperBlockTimeTestReporter // contains filtered or unexported fields }
KeeperBlockTimeTest builds a test to check that chainlink nodes are able to upkeep a specified amount of Upkeep contracts within a certain block time
func NewKeeperBlockTimeTest ¶
func NewKeeperBlockTimeTest(inputs KeeperBlockTimeTestInputs) *KeeperBlockTimeTest
NewKeeperBlockTimeTest prepares a new keeper block time test to be run
func (*KeeperBlockTimeTest) Run ¶
func (k *KeeperBlockTimeTest) Run()
Run runs the keeper block time test
func (*KeeperBlockTimeTest) Setup ¶
func (k *KeeperBlockTimeTest) Setup(env *environment.Environment)
Setup prepares contracts for the test
func (*KeeperBlockTimeTest) TearDownVals ¶
func (k *KeeperBlockTimeTest) TearDownVals() (*environment.Environment, *blockchain.Networks, []client.Chainlink, testreporters.TestReporter)
Networks returns the networks that the test is running on
type KeeperBlockTimeTestInputs ¶
type KeeperBlockTimeTestInputs struct { NumberOfContracts int // Number of upkeep contracts KeeperRegistrySettings *contracts.KeeperRegistrySettings // Settings of each keeper contract Timeout time.Duration // Timeout for the test BlockRange int64 // How many blocks to run the test for BlockInterval int64 // Interval of blocks that upkeeps are expected to be performed CheckGasToBurn int64 // How much gas should be burned on checkUpkeep() calls PerformGasToBurn int64 // How much gas should be burned on performUpkeep() calls ChainlinkNodeFunding *big.Float // Amount of ETH to fund each chainlink node with }
KeeperBlockTimeTestInputs are all the required inputs for a Keeper Block Time Test
type OCRSoakTest ¶
type OCRSoakTest struct { Inputs *OCRSoakTestInputs TestReporter testreporters.OCRSoakTestReporter // contains filtered or unexported fields }
OCRSoakTest defines a typical OCR soak test
func NewOCRSoakTest ¶
func NewOCRSoakTest(inputs *OCRSoakTestInputs) *OCRSoakTest
NewOCRSoakTest creates a new OCR soak test to setup and run
func (*OCRSoakTest) Setup ¶
func (t *OCRSoakTest) Setup(env *environment.Environment)
Setup sets up the test environment, deploying contracts and funding chainlink nodes
func (*OCRSoakTest) TearDownVals ¶
func (t *OCRSoakTest) TearDownVals() (*environment.Environment, *blockchain.Networks, []client.Chainlink, testreporters.TestReporter)
Networks returns the networks that the test is running on
type OCRSoakTestInputs ¶
type OCRSoakTestInputs struct { TestDuration time.Duration // How long to run the test for (assuming things pass) NumberOfContracts int // Number of OCR contracts to launch ChainlinkNodeFunding *big.Float // Amount of ETH to fund each chainlink node with RoundTimeout time.Duration // How long to wait for a round to update before failing the test ExpectedRoundTime time.Duration // How long each round is expected to take TimeBetweenRounds time.Duration // How long to wait after a completed round to start a new one, set 0 for instant StartingAdapterValue int }
OCRSoakTestInputs define required inputs to run an OCR soak test
type VRFV2SoakTest ¶ added in v1.2.4
type VRFV2SoakTest struct { Inputs *VRFV2SoakTestInputs TestReporter testreporters.VRFV2SoakTestReporter ChainlinkNodes []client.Chainlink Networks *blockchain.Networks DefaultNetwork blockchain.EVMClient NumberOfRequests int ErrorOccurred error ErrorCount int // contains filtered or unexported fields }
VRFV2SoakTest defines a typical VRFV2 soak test
func NewVRFV2SoakTest ¶ added in v1.2.4
func NewVRFV2SoakTest(inputs *VRFV2SoakTestInputs) *VRFV2SoakTest
NewVRFV2SoakTest creates a new vrfv2 soak test to setup and run
func (*VRFV2SoakTest) Run ¶ added in v1.2.4
func (t *VRFV2SoakTest) Run()
Run starts the VRFV2 soak test
func (*VRFV2SoakTest) Setup ¶ added in v1.2.4
func (t *VRFV2SoakTest) Setup(env *environment.Environment, charts []string, isLocal bool)
Setup sets up the test environment
func (*VRFV2SoakTest) TearDownVals ¶ added in v1.2.4
func (t *VRFV2SoakTest) TearDownVals() (*environment.Environment, *blockchain.Networks, []client.Chainlink, testreporters.TestReporter)
Networks returns the networks that the test is running on
type VRFV2SoakTestInputs ¶ added in v1.2.4
type VRFV2SoakTestInputs struct { TestDuration time.Duration // How long to run the test for (assuming things pass) ChainlinkNodeFunding *big.Float // Amount of ETH to fund each chainlink node with StopTestOnError bool // Do we want the test to stop after any error or just continue on RequestsPerMinute int // Number of requests for randomness per minute TestFunc VRFV2SoakTestTestFunc // The function that makes the request and validations wanted }
VRFV2SoakTestInputs define required inputs to run a vrfv2 soak test
type VRFV2SoakTestTestFunc ¶ added in v1.2.4
type VRFV2SoakTestTestFunc func(t *VRFV2SoakTest, requestNumber int) error
VRFV2SoakTestTestFunc function type for the request and validation you want done on each iteration