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 VRFV2SoakTestJobInfo
- 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, 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 VRFV2SoakTestJobInfo ¶ added in v1.2.4
VRFV2SoakTestJobInfo defines a jobs into and proving key info
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