Documentation ¶
Index ¶
- Constants
- Variables
- func AllExternalInitiators(t testing.TB, db *sqlx.DB) []bridges.ExternalInitiator
- func AssertCount(t *testing.T, db *sqlx.DB, tableName string, expected int64)
- func AssertCountStays(t testing.TB, db *sqlx.DB, tableName string, want int64)
- func AssertError(t testing.TB, want bool, err error)
- func AssertEthTxAttemptCountStays(t testing.TB, db *sqlx.DB, want int) []txmgr.EthTxAttempt
- func AssertPipelineRunsStays(t testing.TB, pipelineSpecID int32, db *sqlx.DB, want int) []pipeline.Run
- func AssertPipelineTaskRunsSuccessful(t testing.TB, runs []pipeline.TaskRun)
- func AssertRecordEventually(t *testing.T, db *sqlx.DB, model interface{}, stmt string, check func() bool)
- func AssertServerResponse(t testing.TB, resp *http.Response, expectedStatusCode int)
- func AwaitJobActive(t testing.TB, jobSpawner job.Spawner, jobID int32, waitFor time.Duration)
- func BatchElemMatchesParams(req rpc.BatchElem, arg interface{}, method string) bool
- func BatchElemMustMatchParams(t *testing.T, req rpc.BatchElem, hash common.Hash, method string)
- func CallbackOrTimeout(t testing.TB, msg string, callback func(), durationParams ...time.Duration)
- func ClearDBTables(t *testing.T, db *sqlx.DB, tables ...string)
- func CreateExternalInitiatorViaWeb(t testing.TB, app *TestApplication, payload string) *webpresenters.ExternalInitiatorAuthentication
- func CreateJobRunViaExternalInitiatorV2(t testing.TB, app *TestApplication, jobID uuid.UUID, eia auth.Token, ...) webpresenters.PipelineRunResource
- func CreateJobViaWeb(t testing.TB, app *TestApplication, request []byte) job.Job
- func CreateJobViaWeb2(t testing.TB, app *TestApplication, spec string) webpresenters.JobResource
- func DecodeSessionCookie(value string) (string, error)
- func DeleteJobViaWeb(t testing.TB, app *TestApplication, jobID int32)
- func DynamicFeeTransactionsFromTipCaps(tipCaps ...int64) []gas.Transaction
- func EmptyCLIContext() *cli.Context
- func EventuallyExpectationsMet(t *testing.T, mock testifyExpectationsAsserter, timeout time.Duration, ...)
- func GetLogs(t *testing.T, rv interface{}, logs EthereumLogIterator) []interface{}
- func Head(val interface{}) *evmtypes.Head
- func JSONFromBytes(t testing.TB, body []byte) models.JSON
- func JSONFromFixture(t *testing.T, path string) models.JSON
- func JSONFromString(t testing.TB, body string, args ...interface{}) models.JSON
- func LegacyTransactionsFromGasPrices(gasPrices ...int64) []gas.Transaction
- func LogFromFixture(t *testing.T, path string) types.Log
- func MakeConfigDigest(t *testing.T) ocrtypes.ConfigDigest
- func MakeDirectRequestJobSpec(t *testing.T) *job.Job
- func Mine(backend *backends.SimulatedBackend, blockTime time.Duration) (stopMining func())
- func MinimalOCRNonBootstrapSpec(contractAddress, transmitterAddress ethkey.EIP55Address, peerID p2pkey.PeerID, ...) string
- func MockApplicationEthCalls(t *testing.T, app *TestApplication, ethClient *evmMocks.Client) (verify func())
- func MustAddKeyToKeystore(t testing.TB, key ethkey.KeyV2, chainID *big.Int, ethKeyStore keystore.Eth)
- func MustAddRandomKeyToKeystore(t testing.TB, ethKeyStore keystore.Eth) (ethkey.KeyV2, common.Address)
- func MustBytesToConfigDigest(t *testing.T, b []byte) ocrtypes.ConfigDigest
- func MustCreateBridge(t testing.TB, db *sqlx.DB, opts BridgeOpts, cfg pg.LogConfig) (bta *bridges.BridgeTypeAuthentication, bt *bridges.BridgeType)
- func MustGenerateRandomKey(t testing.TB) ethkey.KeyV2
- func MustGenerateRandomKeyState(t testing.TB) ethkey.State
- func MustGenerateSessionCookie(t testing.TB, value string) *http.Cookie
- func MustGetStateForKey(t testing.TB, kst keystore.Eth, key ethkey.KeyV2) ethkey.State
- func MustInsertConfirmedEthTxWithLegacyAttempt(t *testing.T, borm txmgr.ORM, nonce int64, broadcastBeforeBlockNum int64, ...) txmgr.EthTx
- func MustInsertConfirmedEthTxWithReceipt(t *testing.T, borm txmgr.ORM, fromAddress common.Address, ...) (etx txmgr.EthTx)
- func MustInsertConfirmedMissingReceiptEthTxWithLegacyAttempt(t *testing.T, borm txmgr.ORM, nonce int64, broadcastBeforeBlockNum int64, ...) txmgr.EthTx
- func MustInsertEthReceipt(t *testing.T, borm txmgr.ORM, blockNumber int64, blockHash common.Hash, ...) txmgr.EthReceipt
- func MustInsertExternalInitiator(t *testing.T, orm bridges.ORM) (ei bridges.ExternalInitiator)
- func MustInsertExternalInitiatorWithOpts(t *testing.T, orm bridges.ORM, opts ExternalInitiatorOpts) (ei bridges.ExternalInitiator)
- func MustInsertFatalErrorEthTx(t *testing.T, borm txmgr.ORM, fromAddress common.Address) txmgr.EthTx
- func MustInsertHead(t *testing.T, db *sqlx.DB, cfg pg.LogConfig, number int64) evmtypes.Head
- func MustInsertInProgressEthTxWithAttempt(t *testing.T, borm txmgr.ORM, nonce int64, fromAddress common.Address) txmgr.EthTx
- func MustInsertKeeperJob(t *testing.T, db *sqlx.DB, korm keeper.ORM, from ethkey.EIP55Address, ...) job.Job
- func MustInsertKeeperRegistry(t *testing.T, db *sqlx.DB, korm keeper.ORM, ethKeyStore keystore.Eth) (keeper.Registry, job.Job)
- func MustInsertOffchainreportingOracleSpec(t *testing.T, db *sqlx.DB, transmitterAddress ethkey.EIP55Address) job.OCROracleSpec
- func MustInsertPipelineRun(t *testing.T, db *sqlx.DB) (run pipeline.Run)
- func MustInsertRandomKey(t testing.TB, keystore keystore.Eth, opts ...interface{}) (ethkey.KeyV2, common.Address)
- func MustInsertRandomKeyReturningState(t testing.TB, keystore keystore.Eth, opts ...interface{}) (ethkey.State, common.Address)
- func MustInsertUnconfirmedEthTx(t *testing.T, borm txmgr.ORM, nonce int64, fromAddress common.Address, ...) txmgr.EthTx
- func MustInsertUnconfirmedEthTxWithBroadcastDynamicFeeAttempt(t *testing.T, borm txmgr.ORM, nonce int64, fromAddress common.Address, ...) txmgr.EthTx
- func MustInsertUnconfirmedEthTxWithBroadcastLegacyAttempt(t *testing.T, borm txmgr.ORM, nonce int64, fromAddress common.Address, ...) txmgr.EthTx
- func MustInsertUnconfirmedEthTxWithInsufficientEthAttempt(t *testing.T, borm txmgr.ORM, nonce int64, fromAddress common.Address) txmgr.EthTx
- func MustInsertUnconfrimedEthTxWithAttemptState(t *testing.T, borm txmgr.ORM, nonce int64, fromAddress common.Address, ...) txmgr.EthTx
- func MustInsertUnfinishedPipelineTaskRun(t *testing.T, db *sqlx.DB, pipelineRunID int64) (tr pipeline.TaskRun)
- func MustInsertUnstartedEthTx(t *testing.T, borm txmgr.ORM, fromAddress common.Address, opts ...interface{}) txmgr.EthTx
- func MustInsertUpkeepForRegistry(t *testing.T, db *sqlx.DB, cfg keeper.Config, registry keeper.Registry) keeper.UpkeepRegistration
- func MustInsertV2JobSpec(t *testing.T, db *sqlx.DB, transmitterAddress common.Address) job.Job
- func MustInsertWebhookSpec(t *testing.T, db *sqlx.DB) (job.Job, job.WebhookSpec)
- func MustJSONMarshal(t *testing.T, val interface{}) string
- func MustNewKeyedTransactor(t *testing.T, key *ecdsa.PrivateKey, chainID int64) *bind.TransactOpts
- func MustNewSimulatedBackendKeyedTransactor(t *testing.T, key *ecdsa.PrivateKey) *bind.TransactOpts
- func MustNewUser(t *testing.T, email, password string) sessions.User
- func MustParseDuration(t testing.TB, durationStr string) time.Duration
- func MustParseURL(t *testing.T, input string) *url.URL
- func MustRandomBytes(t *testing.T, l int) (b []byte)
- func MustRandomP2PPeerID(t *testing.T) p2ppeer.ID
- func MustRandomUser(t testing.TB) sessions.User
- func MustReadFile(t testing.TB, file string) []byte
- func MustSendingKeyStates(t *testing.T, ethKeyStore keystore.Eth) []ethkey.State
- func MustWebURL(t *testing.T, s string) *models.WebURL
- func NewBridgeType(t testing.TB, opts BridgeOpts) (*bridges.BridgeTypeAuthentication, *bridges.BridgeType)
- func NewChainSetMockWithOneChain(t testing.TB, ethClient evmclient.Client, cfg evmconfig.ChainScopedConfig) evm.ChainSet
- func NewContractMockReceiver(t *testing.T, ethMock *evmmocks.Client, abi abi.ABI, address common.Address) contractMockReceiver
- func NewDynamicFeeEthTxAttempt(t *testing.T, etxID int64) txmgr.EthTxAttempt
- func NewEIP55Address() ethkey.EIP55Address
- func NewEthBroadcaster(t testing.TB, db *sqlx.DB, ethClient evmclient.Client, keyStore txmgr.KeyStore, ...) *txmgr.EthBroadcaster
- func NewEthClientAndSubMock(t mock.TestingT) (*evmMocks.Client, *evmMocks.Subscription)
- func NewEthClientAndSubMockWithDefaultChain(t mock.TestingT) (*evmMocks.Client, *evmMocks.Subscription)
- func NewEthClientMock(t mock.TestingT) *evmMocks.Client
- func NewEthClientMockWithDefaultChain(t testing.TB) *evmMocks.Client
- func NewEthConfirmer(t testing.TB, db *sqlx.DB, ethClient evmclient.Client, ...) *txmgr.EthConfirmer
- func NewEthMocks(t testing.TB) (*evmMocks.Client, *evmMocks.Subscription)
- func NewEthMocksWithDefaultChain(t testing.TB) (c *evmMocks.Client, s *evmMocks.Subscription)
- func NewEthMocksWithStartupAssertions(t testing.TB) *evmMocks.Client
- func NewEthMocksWithTransactionsOnBlocksAssertions(t testing.TB) *evmMocks.Client
- func NewEthReceipt(t *testing.T, blockNumber int64, blockHash common.Hash, txHash common.Hash) txmgr.EthReceipt
- func NewEthTx(t *testing.T, fromAddress common.Address) txmgr.EthTx
- func NewEventBroadcaster(t testing.TB, dbURL url.URL) pg.EventBroadcaster
- func NewHTTPMockServer(t *testing.T, status int, wantMethod string, response string, ...) *httptest.Server
- func NewHTTPMockServerWithAlterableResponse(t *testing.T, response func() string) (server *httptest.Server)
- func NewHTTPMockServerWithAlterableResponseAndRequest(t *testing.T, response func() string, callback func(r *http.Request)) (server *httptest.Server)
- func NewHTTPMockServerWithRequest(t *testing.T, status int, response string, callback func(r *http.Request)) *httptest.Server
- func NewKeyStore(t testing.TB, db *sqlx.DB, cfg pg.LogConfig) keystore.Master
- func NewLegacyEthTxAttempt(t *testing.T, etxID int64) txmgr.EthTxAttempt
- func NewMockAuthenticatedHTTPClient(cfg cmd.HTTPClientConfig, sessionID string) cmd.HTTPClient
- func NewPeerID() p2ppeer.ID
- func NewRandomInt64() int64
- func NewSession(optionalSessionID ...string) clsessions.Session
- func NewSimulatedBackend(t *testing.T, alloc core.GenesisAlloc, gasLimit uint64) *backends.SimulatedBackend
- func NewSimulatedBackendIdentity(t *testing.T) *bind.TransactOpts
- func NewTestChainScopedConfig(t testing.TB) evmconfig.ChainScopedConfig
- func NewTestGeneralConfig(t testing.TB) *configtest.TestGeneralConfig
- func NewTxmORM(t *testing.T, db *sqlx.DB, cfg pg.LogConfig) txmgr.ORM
- func NewWSServer(t *testing.T, chainID *big.Int, callback testutils.JSONRPCHandler) string
- func ParseJSON(t testing.TB, body io.Reader) models.JSON
- func ParseJSONAPIErrors(t testing.TB, body io.Reader) *models.JSONAPIErrors
- func ParseJSONAPIResponse(t testing.TB, resp *http.Response, resource interface{}) error
- func ParseJSONAPIResponseMeta(input []byte) (map[string]*json.RawMessage, error)
- func ParseJSONAPIResponseMetaCount(input []byte) (int, error)
- func ParseResponseBody(t testing.TB, resp *http.Response) []byte
- func RandomLog(t *testing.T) types.Log
- func RawNewRoundLog(t *testing.T, contractAddr common.Address, blockHash common.Hash, ...) types.Log
- func RawNewRoundLogWithTopics(t *testing.T, contractAddr common.Address, blockHash common.Hash, ...) types.Log
- func ReadLogs(dir string) (string, error)
- func RequireTxSuccessful(t testing.TB, client TransactionReceipter, txHash common.Hash) *types.Receipt
- func SimulateIncomingHeads(t *testing.T, args SimulateIncomingHeadsArgs) (done chan struct{})
- func TxReceiptFromFixture(t *testing.T, path string) *types.Receipt
- func UnauthenticatedPatch(t testing.TB, url string, body io.Reader, headers map[string]string) (*http.Response, func())
- func UnauthenticatedPost(t testing.TB, url string, body io.Reader, headers map[string]string) (*http.Response, func())
- func WaitForCount(t *testing.T, db *sqlx.DB, tableName string, want int64)
- func WaitForPipeline(t testing.TB, nodeID int, jobID int32, expectedPipelineRuns int, ...) []pipeline.Run
- func WaitForPipelineComplete(t testing.TB, nodeID int, jobID int32, expectedPipelineRuns int, ...) []pipeline.Run
- func WaitForPipelineError(t testing.TB, nodeID int, jobID int32, expectedPipelineRuns int, ...) []pipeline.Run
- func WaitForSpecErrorV2(t *testing.T, db *sqlx.DB, jobID int32, count int) []job.SpecError
- func WebURL(t testing.TB, unparsed string) models.WebURL
- type Awaiter
- type BlockedRunner
- type Blocks
- func (b *Blocks) ForkAt(t *testing.T, blockNum int64, numHashes int) *Blocks
- func (b *Blocks) HashesMap() map[int64]common.Hash
- func (b *Blocks) Head(number uint64) *evmtypes.Head
- func (b *Blocks) LogOnBlockNum(i uint64, addr common.Address) types.Log
- func (b *Blocks) LogOnBlockNumRemoved(i uint64, addr common.Address) types.Log
- func (b *Blocks) LogOnBlockNumWithIndex(i uint64, logIndex uint, addr common.Address) types.Log
- func (b *Blocks) LogOnBlockNumWithIndexRemoved(i uint64, logIndex uint, addr common.Address) types.Log
- func (b *Blocks) LogOnBlockNumWithTopics(i uint64, logIndex uint, addr common.Address, topics []common.Hash) types.Log
- func (b *Blocks) NewHead(number uint64) *evmtypes.Head
- type BridgeOpts
- type EmptyRunner
- type EthereumLogIterator
- type EventWebSocketServer
- type ExternalInitiatorOpts
- type HTTPClientCleaner
- func (r *HTTPClientCleaner) Delete(path string) (*http.Response, func())
- func (r *HTTPClientCleaner) Get(path string, headers ...map[string]string) (*http.Response, func())
- func (r *HTTPClientCleaner) Patch(path string, body io.Reader, headers ...map[string]string) (*http.Response, func())
- func (r *HTTPClientCleaner) Post(path string, body io.Reader) (*http.Response, func())
- func (r *HTTPClientCleaner) Put(path string, body io.Reader) (*http.Response, func())
- type HeadBuffer
- type HeadTrackableFunc
- type InstanceAppFactory
- type InstantClock
- type JobPipelineV2TestHelper
- type MockAPIInitializer
- type MockChangePasswordPrompter
- type MockCookieAuthenticator
- type MockCountingPrompter
- type MockCron
- type MockCronEntry
- type MockHeadTrackable
- type MockPasswordPrompter
- type MockSecretGenerator
- type MockSessionRequestBuilder
- type MockSubscription
- type NeverSleeper
- type RendererMock
- type SimulateIncomingHeadsArgs
- type TestApplication
- func NewApplication(t testing.TB, flagsAndDeps ...interface{}) *TestApplication
- func NewApplicationEVMDisabled(t *testing.T) *TestApplication
- func NewApplicationWithConfig(t testing.TB, cfg *configtest.TestGeneralConfig, flagsAndDeps ...interface{}) *TestApplication
- func NewApplicationWithConfigAndKey(t testing.TB, c *configtest.TestGeneralConfig, flagsAndDeps ...interface{}) *TestApplication
- func NewApplicationWithConfigAndKeyOnSimulatedBlockchain(t testing.TB, cfg *configtest.TestGeneralConfig, ...) *TestApplication
- func NewApplicationWithKey(t *testing.T, flagsAndDeps ...interface{}) *TestApplication
- func (ta *TestApplication) Import(content string)
- func (ta *TestApplication) MustSeedNewSession() (id string)
- func (ta *TestApplication) NewAuthenticatingClient(prompter cmd.Prompter) *cmd.Client
- func (ta *TestApplication) NewClientAndRenderer() (*cmd.Client, *RendererMock)
- func (ta *TestApplication) NewHTTPClient() HTTPClientCleaner
- func (ta *TestApplication) Start(ctx context.Context) error
- func (ta *TestApplication) Stop() error
- type TransactionReceipter
Constants ¶
const ( // APIKey of the fixture API user APIKey = "2d25e62eaf9143e993acaf48691564b2" // APISecret of the fixture API user. APISecret = "1eCP/w0llVkchejFaoBpfIGaLRxZK54lTXBCT22YLW+pdzE4Fafy/XO5LoJ2uwHi" // APIEmail is the email of the fixture API user APIEmail = "apiuser@chainlink.test" // Password just a password we use everywhere for testing Password = "p4SsW0rD1!@#_" // SessionSecret is the hardcoded secret solely used for test SessionSecret = "clsession_test_secret" // DefaultPeerID is the peer ID of the default p2p key DefaultPeerID = "12D3KooWPjceQrSwdWXPyLLeABRXmuqt69Rg3sBYbU1Nft9HyQ6X" // DefaultOCRKeyBundleID is the ID of the default ocr key bundle DefaultOCRKeyBundleID = "f5bf259689b26f1374efb3c9a9868796953a0f814bb2d39b968d0e61b58620a5" // DefaultOCR2KeyBundleID is the ID of the fixture ocr2 key bundle DefaultOCR2KeyBundleID = "92be59c45d0d7b192ef88d391f444ea7c78644f8607f567aab11d53668c27a4d" )
const ( // DBPollingInterval can't be too short to avoid DOSing the test database DBPollingInterval = 100 * time.Millisecond // AssertNoActionTimeout shouldn't be too long, or it will slow down tests AssertNoActionTimeout = 3 * time.Second )
const SimulatedBackendEVMChainID int64 = 1337
const (
UseRealExternalInitiatorManager = "UseRealExternalInitiatorManager"
)
Variables ¶
var ( DefaultP2PPeerID p2pkey.PeerID FixtureChainID = *testutils.FixtureChainID DefaultCSAKey = csakey.MustNewV2XXXTestingOnly(big.NewInt(1)) DefaultOCRKey = ocrkey.MustNewV2XXXTestingOnly(big.NewInt(1)) DefaultOCR2Key = ocr2key.MustNewInsecure(keystest.NewRandReaderFromSeed(1), "evm") DefaultP2PKey = p2pkey.MustNewV2XXXTestingOnly(big.NewInt(1)) DefaultSolanaKey = solkey.MustNewInsecure(keystest.NewRandReaderFromSeed(1)) DefaultTerraKey = terrakey.MustNewInsecure(keystest.NewRandReaderFromSeed(1)) DefaultVRFKey = vrfkey.MustNewV2XXXTestingOnly(big.NewInt(1)) )
var WaitTimeout = testutils.WaitTimeout
WaitTimeout is just preserved for compatabilty. Use testutils.WaitTimeout directly instead. Deprecated
Functions ¶
func AllExternalInitiators ¶ added in v0.6.6
func AssertCount ¶ added in v0.10.3
func AssertCountStays ¶ added in v0.10.3
func AssertEthTxAttemptCountStays ¶ added in v0.9.6
AssertEthTxAttemptCountStays asserts that the number of tx attempts remains at the provided value
func AssertPipelineRunsStays ¶ added in v0.10.4
func AssertPipelineRunsStays(t testing.TB, pipelineSpecID int32, db *sqlx.DB, want int) []pipeline.Run
AssertPipelineRunsStays asserts that the number of pipeline runs for a particular job remains at the provided values
func AssertPipelineTaskRunsSuccessful ¶ added in v0.10.11
func AssertRecordEventually ¶ added in v0.10.4
func AssertServerResponse ¶
AssertServerResponse is used to match against a client response, will print any errors returned if the request fails.
func AwaitJobActive ¶ added in v0.10.8
func BatchElemMatchesParams ¶ added in v1.3.0
func BatchElemMustMatchParams ¶ added in v1.3.0
func CallbackOrTimeout ¶
func ClearDBTables ¶ added in v1.2.0
ClearDBTables deletes all rows from the given tables
func CreateExternalInitiatorViaWeb ¶ added in v0.6.6
func CreateExternalInitiatorViaWeb( t testing.TB, app *TestApplication, payload string, ) *webpresenters.ExternalInitiatorAuthentication
CreateExternalInitiatorViaWeb creates a bridgetype via web using /v2/bridge_types
func CreateJobRunViaExternalInitiatorV2 ¶ added in v0.10.8
func CreateJobRunViaExternalInitiatorV2( t testing.TB, app *TestApplication, jobID uuid.UUID, eia auth.Token, body string, ) webpresenters.PipelineRunResource
func CreateJobViaWeb ¶ added in v0.9.9
func CreateJobViaWeb2 ¶ added in v0.10.4
func CreateJobViaWeb2(t testing.TB, app *TestApplication, spec string) webpresenters.JobResource
func DecodeSessionCookie ¶
func DeleteJobViaWeb ¶ added in v0.10.8
func DeleteJobViaWeb(t testing.TB, app *TestApplication, jobID int32)
func DynamicFeeTransactionsFromTipCaps ¶ added in v1.1.0
func DynamicFeeTransactionsFromTipCaps(tipCaps ...int64) []gas.Transaction
DynamicFeeTransactionsFromTipCaps returns EIP-1559 transactions with the given TipCaps (FeeCap is arbitrary)
func EmptyCLIContext ¶
func EventuallyExpectationsMet ¶ added in v0.10.3
func GetLogs ¶ added in v0.8.4
func GetLogs(t *testing.T, rv interface{}, logs EthereumLogIterator) []interface{}
GetLogs drains logs of EVM log representations. Since those log representations don't fit into a type hierarchy, this API is a bit awkward. It returns the logs as a slice of blank interface{}s, and if rv is non-nil, it must be a pointer to a slice for elements of the same type as the logs, in which case GetLogs will append the logs to it.
func JSONFromBytes ¶
JSONFromBytes creates JSON from a given byte array
func JSONFromFixture ¶
JSONFromFixture create models.JSON from file path
func JSONFromString ¶
JSONFromString create JSON from given body and arguments
func LegacyTransactionsFromGasPrices ¶ added in v1.1.0
func LegacyTransactionsFromGasPrices(gasPrices ...int64) []gas.Transaction
LegacyTransactionsFromGasPrices returns transactions matching the given gas prices
func LogFromFixture ¶
LogFromFixture create ethtypes.log from file path
func MakeConfigDigest ¶ added in v0.9.7
func MakeConfigDigest(t *testing.T) ocrtypes.ConfigDigest
func MakeDirectRequestJobSpec ¶ added in v0.10.6
func Mine ¶ added in v0.10.3
func Mine(backend *backends.SimulatedBackend, blockTime time.Duration) (stopMining func())
Mine forces the simulated backend to produce a new block every 2 seconds
func MinimalOCRNonBootstrapSpec ¶ added in v0.9.6
func MockApplicationEthCalls ¶ added in v0.9.9
func MockApplicationEthCalls(t *testing.T, app *TestApplication, ethClient *evmMocks.Client) (verify func())
MockApplicationEthCalls mocks all calls made by the chainlink application as standard when starting and stopping
func MustAddKeyToKeystore ¶ added in v0.9.9
func MustAddRandomKeyToKeystore ¶ added in v0.9.9
func MustBytesToConfigDigest ¶ added in v0.9.7
func MustBytesToConfigDigest(t *testing.T, b []byte) ocrtypes.ConfigDigest
func MustCreateBridge ¶ added in v1.1.0
func MustCreateBridge(t testing.TB, db *sqlx.DB, opts BridgeOpts, cfg pg.LogConfig) (bta *bridges.BridgeTypeAuthentication, bt *bridges.BridgeType)
MustCreateBridge creates a bridge Be careful not to specify a name here unless you ABSOLUTELY need to This is because name is a unique index and identical names used across transactional tests will lock/deadlock
func MustGenerateRandomKeyState ¶ added in v1.1.0
func MustGetStateForKey ¶ added in v1.1.0
func MustInsertConfirmedEthTxWithLegacyAttempt ¶ added in v1.1.0
func MustInsertConfirmedEthTxWithReceipt ¶ added in v0.10.7
func MustInsertConfirmedMissingReceiptEthTxWithLegacyAttempt ¶ added in v1.3.0
func MustInsertEthReceipt ¶ added in v0.8.7
func MustInsertExternalInitiator ¶ added in v0.10.11
func MustInsertExternalInitiatorWithOpts ¶ added in v0.10.11
func MustInsertExternalInitiatorWithOpts(t *testing.T, orm bridges.ORM, opts ExternalInitiatorOpts) (ei bridges.ExternalInitiator)
func MustInsertFatalErrorEthTx ¶ added in v0.8.7
func MustInsertHead ¶ added in v0.10.4
func MustInsertInProgressEthTxWithAttempt ¶ added in v0.9.6
func MustInsertKeeperJob ¶ added in v0.10.3
func MustInsertKeeperRegistry ¶ added in v0.10.3
func MustInsertOffchainreportingOracleSpec ¶ added in v0.9.0
func MustInsertOffchainreportingOracleSpec(t *testing.T, db *sqlx.DB, transmitterAddress ethkey.EIP55Address) job.OCROracleSpec
func MustInsertPipelineRun ¶ added in v0.9.10
func MustInsertRandomKey ¶ added in v0.8.11
func MustInsertRandomKey( t testing.TB, keystore keystore.Eth, opts ...interface{}, ) (ethkey.KeyV2, common.Address)
MustInsertRandomKey inserts a randomly generated (not cryptographically secure) key for testing
func MustInsertRandomKeyReturningState ¶ added in v1.1.0
func MustInsertUnconfirmedEthTx ¶ added in v0.10.6
func MustInsertUnconfirmedEthTxWithBroadcastDynamicFeeAttempt ¶ added in v1.1.0
func MustInsertUnconfirmedEthTxWithBroadcastLegacyAttempt ¶ added in v1.1.0
func MustInsertUnconfirmedEthTxWithInsufficientEthAttempt ¶ added in v0.9.9
func MustInsertUnconfrimedEthTxWithAttemptState ¶ added in v1.2.0
func MustInsertUnfinishedPipelineTaskRun ¶ added in v0.9.7
func MustInsertUnstartedEthTx ¶ added in v0.10.5
func MustInsertUpkeepForRegistry ¶ added in v0.10.3
func MustInsertV2JobSpec ¶ added in v0.10.3
func MustInsertWebhookSpec ¶ added in v0.10.11
func MustJSONMarshal ¶ added in v0.10.8
func MustNewKeyedTransactor ¶ added in v0.9.9
func MustNewKeyedTransactor(t *testing.T, key *ecdsa.PrivateKey, chainID int64) *bind.TransactOpts
func MustNewSimulatedBackendKeyedTransactor ¶ added in v0.9.9
func MustNewSimulatedBackendKeyedTransactor(t *testing.T, key *ecdsa.PrivateKey) *bind.TransactOpts
func MustNewUser ¶ added in v0.8.4
func MustReadFile ¶
MustReadFile loads a file but should never fail
func MustSendingKeyStates ¶ added in v1.1.0
func NewBridgeType ¶
func NewBridgeType(t testing.TB, opts BridgeOpts) (*bridges.BridgeTypeAuthentication, *bridges.BridgeType)
NewBridgeType create new bridge type given info slice
func NewChainSetMockWithOneChain ¶ added in v1.1.0
func NewContractMockReceiver ¶ added in v0.10.3
func NewDynamicFeeEthTxAttempt ¶ added in v1.1.0
func NewDynamicFeeEthTxAttempt(t *testing.T, etxID int64) txmgr.EthTxAttempt
func NewEIP55Address ¶ added in v0.9.3
func NewEIP55Address() ethkey.EIP55Address
func NewEthBroadcaster ¶ added in v0.9.3
func NewEthBroadcaster(t testing.TB, db *sqlx.DB, ethClient evmclient.Client, keyStore txmgr.KeyStore, config evmconfig.ChainScopedConfig, keyStates []ethkey.State, checkerFactory txmgr.TransmitCheckerFactory) *txmgr.EthBroadcaster
NewEthBroadcaster creates a new txmgr.EthBroadcaster for use in testing.
func NewEthClientAndSubMock ¶ added in v1.0.0
func NewEthClientAndSubMockWithDefaultChain ¶ added in v1.1.0
func NewEthClientMockWithDefaultChain ¶ added in v1.1.0
func NewEthConfirmer ¶ added in v0.10.10
func NewEthMocks ¶ added in v0.9.9
func NewEthMocksWithDefaultChain ¶ added in v1.1.0
func NewEthMocksWithStartupAssertions ¶ added in v0.9.9
func NewEthMocksWithTransactionsOnBlocksAssertions ¶ added in v1.2.0
NewEthMocksWithTransactionsOnBlocksAssertions sets an Eth mock with transactions on blocks
func NewEthReceipt ¶ added in v1.1.0
func NewEventBroadcaster ¶ added in v1.1.0
func NewHTTPMockServer ¶
func NewHTTPMockServer( t *testing.T, status int, wantMethod string, response string, callback ...func(http.Header, string), ) *httptest.Server
NewHTTPMockServer create http test server with passed in parameters
func NewHTTPMockServerWithAlterableResponse ¶ added in v0.8.4
func NewHTTPMockServerWithAlterableResponseAndRequest ¶ added in v0.10.5
func NewHTTPMockServerWithRequest ¶ added in v0.9.10
func NewHTTPMockServerWithRequest( t *testing.T, status int, response string, callback func(r *http.Request), ) *httptest.Server
NewHTTPMockServerWithRequest creates http test server that makes the request available in the callback
func NewKeyStore ¶ added in v0.10.8
NewKeyStore returns a new, unlocked keystore
func NewLegacyEthTxAttempt ¶ added in v1.1.0
func NewLegacyEthTxAttempt(t *testing.T, etxID int64) txmgr.EthTxAttempt
func NewMockAuthenticatedHTTPClient ¶
func NewMockAuthenticatedHTTPClient(cfg cmd.HTTPClientConfig, sessionID string) cmd.HTTPClient
func NewRandomInt64 ¶ added in v0.8.4
func NewRandomInt64() int64
func NewSession ¶
func NewSession(optionalSessionID ...string) clsessions.Session
func NewSimulatedBackend ¶ added in v1.1.0
func NewSimulatedBackend(t *testing.T, alloc core.GenesisAlloc, gasLimit uint64) *backends.SimulatedBackend
func NewSimulatedBackendIdentity ¶ added in v0.10.3
func NewSimulatedBackendIdentity(t *testing.T) *bind.TransactOpts
newIdentity returns a go-ethereum abstraction of an ethereum account for interacting with contract golang wrappers
func NewTestChainScopedConfig ¶ added in v1.1.0
func NewTestChainScopedConfig(t testing.TB) evmconfig.ChainScopedConfig
func NewTestGeneralConfig ¶ added in v1.1.0
func NewTestGeneralConfig(t testing.TB) *configtest.TestGeneralConfig
func NewWSServer ¶
NewWSServer starts a websocket server which invokes callback for each message received. If chainID is set, then eth_chainId calls will be automatically handled.
func ParseJSONAPIErrors ¶
func ParseJSONAPIResponse ¶
ParseJSONAPIResponse parses the response and returns the JSONAPI resource.
func ParseJSONAPIResponseMeta ¶
func ParseJSONAPIResponseMeta(input []byte) (map[string]*json.RawMessage, error)
ParseJSONAPIResponseMeta parses the bytes of the root document and returns a map of *json.RawMessage's within the 'meta' key.
func ParseJSONAPIResponseMetaCount ¶
ParseJSONAPIResponseMetaCount parses the bytes of the root document and returns the value of the 'count' key from the 'meta' section.
func ParseResponseBody ¶
ParseResponseBody will parse the given response into a byte slice
func RawNewRoundLog ¶ added in v0.10.3
func RawNewRoundLogWithTopics ¶ added in v0.10.6
func RequireTxSuccessful ¶ added in v0.10.11
func SimulateIncomingHeads ¶ added in v0.10.3
func SimulateIncomingHeads(t *testing.T, args SimulateIncomingHeadsArgs) (done chan struct{})
SimulateIncomingHeads spawns a goroutine which sends a stream of heads and closes the returned channel when finished.
func TxReceiptFromFixture ¶
TxReceiptFromFixture create ethtypes.log from file path
func UnauthenticatedPatch ¶
func UnauthenticatedPost ¶ added in v0.6.7
func WaitForCount ¶ added in v0.10.3
func WaitForPipeline ¶ added in v1.1.0
func WaitForPipelineComplete ¶ added in v0.9.9
func WaitForPipelineError ¶ added in v1.1.0
func WaitForSpecErrorV2 ¶ added in v0.10.4
WaitForSpecErrorV2 polls until the passed in jobID has count number of job spec errors.
Types ¶
type Awaiter ¶ added in v0.9.3
type Awaiter chan struct{}
func NewAwaiter ¶ added in v0.9.3
func NewAwaiter() Awaiter
func (Awaiter) AssertHappened ¶ added in v0.10.9
func (Awaiter) AwaitOrFail ¶ added in v0.9.3
func (Awaiter) ItHappened ¶ added in v0.9.3
func (a Awaiter) ItHappened()
type BlockedRunner ¶
type BlockedRunner struct {
Done chan struct{}
}
BlockedRunner is a Runner that blocks until its channel is posted to
func (BlockedRunner) Run ¶
func (r BlockedRunner) Run(context.Context, chainlink.Application) error
Run runs the blocked runner, doesn't return until the channel is signalled
type Blocks ¶ added in v0.10.10
type Blocks struct { Hashes []common.Hash Heads map[int64]*evmtypes.Head // contains filtered or unexported fields }
Blocks - a helper logic to construct a range of linked heads and an ability to fork and create logs from them
func (*Blocks) LogOnBlockNum ¶ added in v0.10.10
func (*Blocks) LogOnBlockNumRemoved ¶ added in v0.10.10
func (*Blocks) LogOnBlockNumWithIndex ¶ added in v0.10.10
func (*Blocks) LogOnBlockNumWithIndexRemoved ¶ added in v0.10.10
func (*Blocks) LogOnBlockNumWithTopics ¶ added in v0.10.10
type BridgeOpts ¶ added in v1.1.0
type EmptyRunner ¶
type EmptyRunner struct{}
EmptyRunner is an EmptyRunner
func (EmptyRunner) Run ¶
func (r EmptyRunner) Run(context.Context, chainlink.Application) error
Run runs the empty runner
type EthereumLogIterator ¶ added in v0.8.4
type EthereumLogIterator interface{ Next() bool }
EthereumLogIterator is the interface provided by gethwrapper representations of EVM logs.
type EventWebSocketServer ¶
type EventWebSocketServer struct { *httptest.Server Connected chan struct{} ReceivedText chan string ReceivedBinary chan []byte URL *url.URL // contains filtered or unexported fields }
EventWebSocketServer is a web socket server designed specifically for testing
func NewEventWebSocketServer ¶
func NewEventWebSocketServer(t *testing.T) (*EventWebSocketServer, func())
NewEventWebSocketServer returns a new EventWebSocketServer
func (*EventWebSocketServer) Broadcast ¶
func (wss *EventWebSocketServer) Broadcast(message string) error
Broadcast sends a message to every web socket client connected to the EventWebSocketServer
func (*EventWebSocketServer) WriteCloseMessage ¶
func (wss *EventWebSocketServer) WriteCloseMessage()
WriteCloseMessage tells connected clients to disconnect. Useful to emulate that the websocket server is shutting down without actually shutting down. This overcomes httptest.Server's inability to restart on the same URL:port.
type ExternalInitiatorOpts ¶ added in v0.10.11
type HTTPClientCleaner ¶
type HTTPClientCleaner struct { HTTPClient cmd.HTTPClient // contains filtered or unexported fields }
func (*HTTPClientCleaner) Delete ¶
func (r *HTTPClientCleaner) Delete(path string) (*http.Response, func())
type HeadBuffer ¶ added in v1.0.0
HeadBuffer - stores heads in sequence, with increasing timestamps
func NewHeadBuffer ¶ added in v1.0.0
func NewHeadBuffer(t *testing.T) *HeadBuffer
func (*HeadBuffer) Append ¶ added in v1.0.0
func (hb *HeadBuffer) Append(head *evmtypes.Head)
type HeadTrackableFunc ¶ added in v0.10.3
func (HeadTrackableFunc) OnNewLongestChain ¶ added in v0.10.3
func (fn HeadTrackableFunc) OnNewLongestChain(ctx context.Context, head *evmtypes.Head)
type InstanceAppFactory ¶
type InstanceAppFactory struct {
App chainlink.Application
}
InstanceAppFactory is an InstanceAppFactory
func (InstanceAppFactory) NewApplication ¶
func (f InstanceAppFactory) NewApplication(config.GeneralConfig, *sqlx.DB) (chainlink.Application, error)
NewApplication creates a new application with specified config
type InstantClock ¶
type InstantClock struct{}
InstantClock an InstantClock
type JobPipelineV2TestHelper ¶ added in v0.10.5
func NewJobPipelineV2 ¶ added in v0.10.5
type MockAPIInitializer ¶
type MockAPIInitializer struct { Count int // contains filtered or unexported fields }
func NewMockAPIInitializer ¶ added in v1.1.0
func NewMockAPIInitializer(t testing.TB) *MockAPIInitializer
func (*MockAPIInitializer) Initialize ¶
type MockChangePasswordPrompter ¶
type MockChangePasswordPrompter struct { web.UpdatePasswordRequest // contains filtered or unexported fields }
func (MockChangePasswordPrompter) Prompt ¶
func (m MockChangePasswordPrompter) Prompt() (web.UpdatePasswordRequest, error)
type MockCookieAuthenticator ¶
type MockCookieAuthenticator struct { SessionID string Error error // contains filtered or unexported fields }
func (MockCookieAuthenticator) Authenticate ¶
func (m MockCookieAuthenticator) Authenticate(sessions.SessionRequest) (*http.Cookie, error)
func (MockCookieAuthenticator) Cookie ¶
func (m MockCookieAuthenticator) Cookie() (*http.Cookie, error)
func (MockCookieAuthenticator) Logout ¶ added in v1.3.0
func (m MockCookieAuthenticator) Logout() error
type MockCountingPrompter ¶
type MockCountingPrompter struct { T *testing.T EnteredStrings []string Count int NotTerminal bool }
MockCountingPrompter is a mock counting prompt
func (*MockCountingPrompter) IsTerminal ¶
func (p *MockCountingPrompter) IsTerminal() bool
IsTerminal always returns true in tests
func (*MockCountingPrompter) PasswordPrompt ¶
func (p *MockCountingPrompter) PasswordPrompt(string) string
PasswordPrompt returns an entered string
func (*MockCountingPrompter) Prompt ¶
func (p *MockCountingPrompter) Prompt(string) string
Prompt returns an entered string
type MockCron ¶
type MockCron struct { Entries []MockCronEntry // contains filtered or unexported fields }
MockCron represents a mock cron
func (*MockCron) RunEntries ¶
func (mc *MockCron) RunEntries()
RunEntries run every function for each mockcron entry
type MockCronEntry ¶
type MockCronEntry struct { Schedule string Function func() }
MockCronEntry a cron schedule and function
type MockHeadTrackable ¶
type MockHeadTrackable struct {
// contains filtered or unexported fields
}
MockHeadTrackable allows you to mock HeadTrackable
func (*MockHeadTrackable) OnNewLongestChain ¶ added in v0.8.5
func (m *MockHeadTrackable) OnNewLongestChain(context.Context, *evmtypes.Head)
OnNewLongestChain increases the OnNewLongestChainCount count by one
func (*MockHeadTrackable) OnNewLongestChainCount ¶ added in v0.8.5
func (m *MockHeadTrackable) OnNewLongestChainCount() int32
OnNewLongestChainCount returns the count of new heads, safely.
type MockPasswordPrompter ¶
type MockPasswordPrompter struct {
Password string
}
func (MockPasswordPrompter) Prompt ¶
func (m MockPasswordPrompter) Prompt() string
type MockSecretGenerator ¶ added in v1.0.0
type MockSecretGenerator struct{}
type MockSessionRequestBuilder ¶
func (*MockSessionRequestBuilder) Build ¶
func (m *MockSessionRequestBuilder) Build(string) (sessions.SessionRequest, error)
type MockSubscription ¶
type MockSubscription struct { Errors chan error // contains filtered or unexported fields }
MockSubscription a mock subscription
func EmptyMockSubscription ¶
func EmptyMockSubscription(t testing.TB) *MockSubscription
EmptyMockSubscription return empty MockSubscription
func (*MockSubscription) Err ¶
func (mes *MockSubscription) Err() <-chan error
Err returns error channel from mes
func (*MockSubscription) Unsubscribe ¶
func (mes *MockSubscription) Unsubscribe()
Unsubscribe closes the subscription
type NeverSleeper ¶
type NeverSleeper struct{}
NeverSleeper is a struct that never sleeps
func (NeverSleeper) Duration ¶
func (ns NeverSleeper) Duration() time.Duration
Duration returns a duration
type RendererMock ¶
type RendererMock struct {
Renders []interface{}
}
RendererMock a mock renderer
func (*RendererMock) Render ¶
func (rm *RendererMock) Render(v interface{}, headers ...string) error
Render appends values to renderer mock
type SimulateIncomingHeadsArgs ¶ added in v0.10.3
type SimulateIncomingHeadsArgs struct {
StartBlock, EndBlock int64
HeadTrackables []httypes.HeadTrackable
Blocks *Blocks
}
type TestApplication ¶
type TestApplication struct { *chainlink.ChainlinkApplication Logger logger.Logger Server *httptest.Server Started bool Backend *backends.SimulatedBackend Key ethkey.KeyV2 // contains filtered or unexported fields }
TestApplication holds the test application and test servers
func NewApplication ¶
func NewApplication(t testing.TB, flagsAndDeps ...interface{}) *TestApplication
NewApplication creates a New TestApplication along with a NewConfig It mocks the keystore with no keys or accounts by default
func NewApplicationEVMDisabled ¶ added in v1.1.0
func NewApplicationEVMDisabled(t *testing.T) *TestApplication
NewApplicationEVMDisabled creates a new application with default config but EVM disabled Useful for testing controllers
func NewApplicationWithConfig ¶
func NewApplicationWithConfig(t testing.TB, cfg *configtest.TestGeneralConfig, flagsAndDeps ...interface{}) *TestApplication
NewApplicationWithConfig creates a New TestApplication with specified test config. This should only be used in full integration tests. For controller tests, see NewApplicationEVMDisabled
func NewApplicationWithConfigAndKey ¶
func NewApplicationWithConfigAndKey(t testing.TB, c *configtest.TestGeneralConfig, flagsAndDeps ...interface{}) *TestApplication
NewApplicationWithConfigAndKey creates a new TestApplication with the given testorm it will also provide an unlocked account on the keystore
func NewApplicationWithConfigAndKeyOnSimulatedBlockchain ¶ added in v0.8.4
func NewApplicationWithConfigAndKeyOnSimulatedBlockchain( t testing.TB, cfg *configtest.TestGeneralConfig, backend *backends.SimulatedBackend, flagsAndDeps ...interface{}, ) *TestApplication
func NewApplicationWithKey ¶
func NewApplicationWithKey(t *testing.T, flagsAndDeps ...interface{}) *TestApplication
NewApplicationWithKey creates a new TestApplication along with a new config It uses the native keystore and will load any keys that are in the database
func (*TestApplication) Import ¶ added in v1.0.0
func (ta *TestApplication) Import(content string)
ImportKey adds private key to the application keystore and database
func (*TestApplication) MustSeedNewSession ¶ added in v0.8.4
func (ta *TestApplication) MustSeedNewSession() (id string)
func (*TestApplication) NewAuthenticatingClient ¶
func (ta *TestApplication) NewAuthenticatingClient(prompter cmd.Prompter) *cmd.Client
func (*TestApplication) NewClientAndRenderer ¶
func (ta *TestApplication) NewClientAndRenderer() (*cmd.Client, *RendererMock)
NewClientAndRenderer creates a new cmd.Client for the test application
func (*TestApplication) NewHTTPClient ¶
func (ta *TestApplication) NewHTTPClient() HTTPClientCleaner
func (*TestApplication) Start ¶ added in v0.8.2
func (ta *TestApplication) Start(ctx context.Context) error
Start starts the chainlink app and registers Stop to clean up at end of test.
func (*TestApplication) Stop ¶
func (ta *TestApplication) Stop() error
Stop will stop the test application and perform cleanup