Documentation ¶
Index ¶
- Constants
- Variables
- func AddTxAttempt(t testing.TB, store *strpkg.Store, tx *models.Tx, etx *types.Transaction, ...) *models.TxAttempt
- func AllExternalInitiators(t testing.TB, store *strpkg.Store) []models.ExternalInitiator
- func AllJobs(t testing.TB, store *strpkg.Store) []models.JobSpec
- func AssertError(t testing.TB, want bool, err error)
- func AssertServerResponse(t testing.TB, resp *http.Response, expectedStatusCode int)
- func AssertSyncEventCountStays(t testing.TB, orm *orm.ORM, want int)
- func BigHexInt(val interface{}) hexutil.Big
- func BlockWithTransactions(gasPrices ...uint64) models.Block
- func BuildInitiatorRequests(t *testing.T, initrs []models.Initiator) []models.InitiatorRequest
- func BuildTaskRequests(t *testing.T, initrs []models.TaskSpec) []models.TaskSpecRequest
- func CallbackOrTimeout(t testing.TB, msg string, callback func(), durationParams ...time.Duration)
- func ChainlinkEthLogFromGethLog(l types.Log) models.Log
- func CreateBridgeTypeViaWeb(t testing.TB, app *TestApplication, payload string) *models.BridgeTypeAuthentication
- func CreateExternalInitiatorViaWeb(t testing.TB, app *TestApplication, payload string) *presenters.ExternalInitiatorAuthentication
- func CreateHelloWorldJobViaWeb(t testing.TB, app *TestApplication, url string) models.JobSpec
- func CreateJobRunViaExternalInitiator(t testing.TB, app *TestApplication, j models.JobSpec, eia auth.Token, ...) models.JobRun
- func CreateJobRunViaWeb(t testing.TB, app *TestApplication, j models.JobSpec, body ...string) models.JobRun
- func CreateJobRunWithStatus(t testing.TB, store *strpkg.Store, job models.JobSpec, status models.RunStatus) models.JobRun
- func CreateJobSpecViaWeb(t testing.TB, app *TestApplication, job models.JobSpec) models.JobSpec
- func CreateMemoryTestLogger(lvl zapcore.Level) *zap.Logger
- func CreateSpecViaWeb(t testing.TB, app *TestApplication, spec string) models.JobSpec
- func CreateTestLogger(lvl zapcore.Level) *zap.Logger
- func CreateTx(t testing.TB, store *strpkg.Store, from common.Address, sentAt uint64) *models.Tx
- func CreateTxWithNonceAndGasPrice(t testing.TB, store *strpkg.Store, from common.Address, sentAt uint64, ...) *models.Tx
- func CreateTxWithNonceGasPriceAndRecipient(t testing.TB, store *strpkg.Store, from common.Address, to common.Address, ...) *models.Tx
- func DecodeSessionCookie(value string) (string, error)
- func EmptyBlock() models.Block
- func EmptyCLIContext() *cli.Context
- func ExtractTargetAddressFromERC20EthEthCallMock(t *testing.T, arg ...interface{}) common.Address
- func FindJob(t testing.TB, s *strpkg.Store, id *models.ID) models.JobSpec
- func FindJobRun(t *testing.T, store *strpkg.Store, id *models.ID) models.JobRun
- func FindServiceAgreement(t testing.TB, s *strpkg.Store, id string) models.ServiceAgreement
- func FixtureCreateJobViaWeb(t *testing.T, app *TestApplication, path string) models.JobSpec
- func GetAccountAddress(t testing.TB, store *strpkg.Store) common.Address
- func GetAccountAddresses(store *strpkg.Store) []common.Address
- func GetDefaultFromAddress(t *testing.T, store *strpkg.Store) common.Address
- func GetLastTx(t testing.TB, store *strpkg.Store) models.Tx
- func GetLastTxAttempt(t testing.TB, store *strpkg.Store) models.TxAttempt
- func GetLogs(t *testing.T, rv interface{}, logs EthereumLogIterator) []interface{}
- func Head(val interface{}) *models.Head
- func Int(val interface{}) *utils.Big
- 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 JSONResultFromFixture(t *testing.T, path string) models.JSON
- func JobRunStays(t testing.TB, store *strpkg.Store, jr models.JobRun, status models.RunStatus, ...) models.JobRun
- func JobRunStaysPendingIncomingConfirmations(t testing.TB, store *strpkg.Store, jr models.JobRun) models.JobRun
- func LogFromFixture(t *testing.T, path string) models.Log
- func MakeRoundStateReturnData(roundID uint64, eligible bool, ...) string
- func MustAllJobsWithStatus(t testing.TB, store *strpkg.Store, statuses ...models.RunStatus) []*models.JobRun
- func MustDefaultKey(t *testing.T, s *strpkg.Store) models.Key
- func MustEVMUintHexFromBase10String(t *testing.T, strings ...string) string
- func MustGenerateSessionCookie(value string) *http.Cookie
- func MustHelloWorldAgreement(t *testing.T) string
- func MustHexToUint64(t *testing.T, hex string) uint64
- func MustInsertBroadcastEthTxAttempt(t *testing.T, etxID int64, store *strpkg.Store, gasPrice int64) models.EthTxAttempt
- func MustInsertConfirmedEthTxWithAttempt(t *testing.T, store *strpkg.Store, nonce int64, broadcastBeforeBlockNum int64) models.EthTx
- func MustInsertEthReceipt(t *testing.T, s *strpkg.Store, blockNumber int64, blockHash common.Hash, ...) models.EthReceipt
- func MustInsertFatalErrorEthTx(t *testing.T, store *strpkg.Store) models.EthTx
- func MustInsertKey(t *testing.T, store *strpkg.Store, address common.Address) models.Key
- func MustInsertRandomKey(t *testing.T, store *strpkg.Store) models.Key
- func MustInsertTaskRun(t *testing.T, store *strpkg.Store) models.ID
- func MustInsertUnconfirmedEthTxWithBroadcastAttempt(t *testing.T, store *strpkg.Store, nonce int64) models.EthTx
- func MustJSONDel(t *testing.T, json, path string) string
- func MustJSONSet(t *testing.T, json, path string, value interface{}) string
- func MustNewUser(t *testing.T, email, password string) models.User
- func MustParseDuration(t testing.TB, durationStr string) time.Duration
- func MustParseURL(input string) *url.URL
- func MustRandomUser() models.User
- func MustReadFile(t testing.TB, file string) []byte
- func MustResultString(t *testing.T, input models.RunResult) string
- func NewAddress() common.Address
- func NewBridgeType(t testing.TB, info ...string) (*models.BridgeTypeAuthentication, *models.BridgeType)
- func NewEth(t *testing.T, amount string) *assets.Eth
- func NewEthHeader(height interface{}) types.Header
- func NewEthTx(t *testing.T, store *strpkg.Store) models.EthTx
- func NewEthTxAttempt(t *testing.T, etxID int64) models.EthTxAttempt
- func NewHTTPMockServer(t *testing.T, status int, wantMethod string, response string, ...) (*httptest.Server, func())
- func NewHTTPMockServerWithAlterableResponse(t *testing.T, response func() string) (server *httptest.Server)
- func NewHash() common.Hash
- func NewJob() models.JobSpec
- func NewJobRun(job models.JobSpec) models.JobRun
- func NewJobRunPendingBridge(job models.JobSpec) models.JobRun
- func NewJobWithExternalInitiator(ei *models.ExternalInitiator) models.JobSpec
- func NewJobWithFluxMonitorInitiator() models.JobSpec
- func NewJobWithFluxMonitorInitiatorWithBridge() models.JobSpec
- func NewJobWithLogInitiator() models.JobSpec
- func NewJobWithRunAtInitiator(t time.Time) models.JobSpec
- func NewJobWithRunLogInitiator() models.JobSpec
- func NewJobWithSchedule(sched string) models.JobSpec
- func NewJobWithWebInitiator() models.JobSpec
- func NewLink(t *testing.T, amount string) *assets.Link
- func NewMockAuthenticatedHTTPClient(cfg orm.ConfigReader, sessionID string) cmd.HTTPClient
- func NewPollingDeviationChecker(t *testing.T, s *strpkg.Store) *fluxmonitor.PollingDeviationChecker
- func NewRandomInt64() int64
- func NewRandomnessRequestLog(t *testing.T, r models.RandomnessRequestLog, emitter common.Address, blk int) models.Log
- func NewRunInput(value models.JSON) models.RunInput
- func NewRunInputWithResult(value interface{}) models.RunInput
- func NewRunInputWithResultAndJobRunID(value interface{}, jobRunID *models.ID) models.RunInput
- func NewRunInputWithString(t testing.TB, value string) models.RunInput
- func NewRunLog(t *testing.T, jobID *models.ID, emitter common.Address, ...) models.Log
- func NewSession(optionalSessionID ...string) models.Session
- func NewStore(t testing.TB) (*strpkg.Store, func())
- func NewStoreWithConfig(config *TestConfig) (*strpkg.Store, func())
- func NewTask(t *testing.T, taskType string, json ...string) models.TaskSpec
- func NewTransaction(nonce uint64, sentAtV ...uint64) *models.Tx
- func NewTx(from common.Address, sentAt uint64) *models.Tx
- func NewWSServer(msg string) (*httptest.Server, func())
- func NormalizedJSON(t testing.TB, input []byte) string
- func NullableTime(t time.Time) null.Time
- func ParseISO8601(t testing.TB, s string) time.Time
- 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 ParseNullableTime(t testing.TB, s string) null.Time
- func ParseResponseBody(t testing.TB, resp *http.Response) []byte
- func ReadLogs(config orm.ConfigReader) (string, error)
- func ServiceAgreementFromString(str string) (models.ServiceAgreement, error)
- func StoredVRFKey(t *testing.T, store *strpkg.Store) *vrfkey.PublicKey
- func StringToHash(s string) common.Hash
- func StringToVersionedLogData20190207withoutIndexes(t *testing.T, internalID string, requester common.Address, str string) []byte
- func TxReceiptFromFixture(t *testing.T, path string) models.TxReceipt
- 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 UpdateJobRunViaWeb(t testing.TB, app *TestApplication, jr models.JobRun, ...) models.JobRun
- func WaitForJobRunStatus(t testing.TB, store *strpkg.Store, jr models.JobRun, status models.RunStatus) models.JobRun
- func WaitForJobRunToComplete(t testing.TB, store *strpkg.Store, jr models.JobRun) models.JobRun
- func WaitForJobRunToPendBridge(t testing.TB, store *strpkg.Store, jr models.JobRun) models.JobRun
- func WaitForJobRunToPendIncomingConfirmations(t testing.TB, store *strpkg.Store, jr models.JobRun) models.JobRun
- func WaitForJobRunToPendOutgoingConfirmations(t testing.TB, store *strpkg.Store, jr models.JobRun) models.JobRun
- func WaitForRuns(t testing.TB, j models.JobSpec, store *strpkg.Store, want int) []models.JobRun
- func WaitForRunsAtLeast(t testing.TB, j models.JobSpec, store *strpkg.Store, want int)
- func WaitForSyncEventCount(t testing.TB, orm *orm.ORM, want int)
- func WaitForTxAttemptCount(t testing.TB, store *strpkg.Store, want int) []models.TxAttempt
- func WebURL(t testing.TB, unparsed string) models.WebURL
- type BlockedRunner
- type CallbackAuthenticator
- type EmptyRunner
- type EthMock
- func (mock *EthMock) AllCalled() bool
- func (mock *EthMock) AssertAllCalled()
- func (mock *EthMock) Call(result interface{}, method string, args ...interface{}) error
- func (mock *EthMock) Context(context string, callback func(*EthMock))
- func (mock *EthMock) Dial(url string) (eth.CallerSubscriber, error)
- func (mock *EthMock) EventuallyAllCalled(t *testing.T)
- func (mock *EthMock) GethClient(f func(c eth.GethClient) error) error
- func (mock *EthMock) RPCClient(f func(c eth.RPCClient) error) error
- func (mock *EthMock) Register(method string, response interface{}, ...)
- func (mock *EthMock) RegisterError(method, errMsg string)
- func (mock *EthMock) RegisterNewHead(blockNumber int64) chan gethTypes.Header
- func (mock *EthMock) RegisterNewHeads() chan gethTypes.Header
- func (mock *EthMock) RegisterSubscription(name string, channels ...interface{}) *MockSubscription
- func (mock *EthMock) Remaining() string
- func (mock *EthMock) ShouldCall(setup func(mock *EthMock)) ethMockDuring
- func (mock *EthMock) Subscribe(ctx context.Context, channel interface{}, args ...interface{}) (eth.Subscription, error)
- type EthereumLogIterator
- type EventWebSocketServer
- 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 InstanceAppFactory
- type InstantClock
- type MemorySink
- type MockAPIInitializer
- type MockChangePasswordPrompter
- type MockCookieAuthenticator
- type MockCountingPrompter
- type MockCron
- type MockCronEntry
- type MockHeadTrackable
- func (m *MockHeadTrackable) Connect(bn *models.Head) error
- func (m *MockHeadTrackable) ConnectedCount() int32
- func (m *MockHeadTrackable) Disconnect()
- func (m *MockHeadTrackable) DisconnectedCount() int32
- func (m *MockHeadTrackable) OnNewLongestChain(models.Head)
- func (m *MockHeadTrackable) OnNewLongestChainCount() int32
- type MockPasswordPrompter
- type MockResponse
- type MockSessionRequestBuilder
- type MockSigner
- type MockSubscription
- type NeverSleeper
- type RendererMock
- type SimpleGethWrapper
- type SimulatedBackendClient
- func (c *SimulatedBackendClient) Call(result interface{}, method string, args ...interface{}) error
- func (c *SimulatedBackendClient) Close()
- func (c *SimulatedBackendClient) GetBlockByNumber(hex string) (block models.Block, err error)
- func (c *SimulatedBackendClient) GetBlockHeight() (height uint64, err error)
- func (c *SimulatedBackendClient) GetChainID() (*big.Int, error)
- func (c *SimulatedBackendClient) GetERC20Balance(address common.Address, contractAddress common.Address) (balance *big.Int, err error)
- func (c *SimulatedBackendClient) GetEthBalance(address common.Address) (balance *assets.Eth, err error)
- func (c *SimulatedBackendClient) GetLatestBlock() (models.Block, error)
- func (c *SimulatedBackendClient) GetLogs(q ethereum.FilterQuery) (logs []models.Log, err error)
- func (c *SimulatedBackendClient) GetNonce(address common.Address) (nonce uint64, err error)
- func (c *SimulatedBackendClient) GetTxReceipt(receipt common.Hash) (*models.TxReceipt, error)
- func (c *SimulatedBackendClient) GethClient(f func(c eth.GethClient) error) error
- func (c *SimulatedBackendClient) RPCClient(f func(c eth.RPCClient) error) error
- func (c *SimulatedBackendClient) SendRawTx(txBytes []byte) (txHash common.Hash, err error)
- func (c *SimulatedBackendClient) Subscribe(ctx context.Context, namespace interface{}, channelAndArgs ...interface{}) (eth.Subscription, error)
- func (c *SimulatedBackendClient) SubscribeToLogs(ctx context.Context, channel chan<- models.Log, q ethereum.FilterQuery) (eth.Subscription, error)
- func (c *SimulatedBackendClient) SubscribeToNewHeads(ctx context.Context, channel chan<- types.Header) (eth.Subscription, error)
- type TestApplication
- func NewApplication(t testing.TB, flags ...string) (*TestApplication, func())
- func NewApplicationWithConfig(t testing.TB, tc *TestConfig, flags ...string) (*TestApplication, func())
- func NewApplicationWithConfigAndKey(t testing.TB, tc *TestConfig, flags ...string) (*TestApplication, func())
- func NewApplicationWithConfigAndKeyOnSimulatedBlockchain(t testing.TB, tc *TestConfig, backend *backends.SimulatedBackend, ...) (app *TestApplication, cleanup func())
- func NewApplicationWithKey(t testing.TB, flags ...string) (*TestApplication, func())
- func (ta *TestApplication) AddUnlockedKey()
- func (ta *TestApplication) ImportKey(content string)
- func (ta *TestApplication) InstantClock() InstantClock
- func (ta *TestApplication) MockCallerSubscriberClient(flags ...string) *EthMock
- func (ta *TestApplication) MustCreateJobRun(txHashBytes []byte, blockHashBytes []byte) *models.JobRun
- func (ta *TestApplication) MustSeedNewSession() string
- func (ta *TestApplication) NewAuthenticatingClient(prompter cmd.Prompter) *cmd.Client
- func (ta *TestApplication) NewBox() packr.Box
- func (ta *TestApplication) NewClientAndRenderer() (*cmd.Client, *RendererMock)
- func (ta *TestApplication) NewHTTPClient() HTTPClientCleaner
- func (ta *TestApplication) Start() error
- func (ta *TestApplication) StartAndConnect() error
- func (ta *TestApplication) Stop() error
- type TestConfig
- func BootstrapThrowawayORM(t *testing.T, name string, migrate bool, loadFixtures ...bool) (*TestConfig, *orm.ORM, func())
- func NewConfig(t testing.TB) (*TestConfig, func())
- func NewConfigWithWSServer(t testing.TB, wsserver *httptest.Server) *TestConfig
- func NewTestConfig(t testing.TB, options ...interface{}) *TestConfig
- type TriggerClock
Constants ¶
const ( // RootDir the root directory for cltest RootDir = "/tmp/chainlink_test" // 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 = "password" // SessionSecret is the hardcoded secret solely used for test SessionSecret = "clsession_test_secret" // DefaultKey is the address of the fixture key DefaultKey = "0x3cb8e3FD9d27e39a5e9e6852b0e96160061fd4ea" )
const ( DBWaitTimeout = 5 * time.Second // DBPollingInterval can't be too short to avoid DOSing the test database DBPollingInterval = 100 * time.Millisecond )
const EthMockRegisterChainID = "eth_mock_register_chain_id"
EthMockRegisterChainID registers the common case of calling eth_chainId and returns the store.config.ChainID
const ( // Key3cb8e3fd9d27e39a5e9e6852b0e96160061fd4ea is a valid ethereum key encrypted with the password: 'password' Key3cb8e3fd9d27e39a5e9e6852b0e96160061fd4ea = `` /* 491-byte string literal not displayed */ )
const LenientEthMock = "lenient"
LenientEthMock flag prevents the mock eth client from panicking if an unexpected call is made
Variables ¶
var OracleTransactor *bind.TransactOpts
OracleTransactor representsthe identity of the oracle address used in cltest
Functions ¶
func AddTxAttempt ¶ added in v0.8.2
func AllExternalInitiators ¶ added in v0.6.6
func AssertServerResponse ¶
AssertServerResponse is used to match against a client response, will print any errors returned if the request fails.
func AssertSyncEventCountStays ¶
AssertSyncEventCountStays ensures that the event sync count stays consistent for a period of time
func BlockWithTransactions ¶ added in v0.8.2
BlockWithTransactions returns a new ethereum block with transactions matching the given gas prices
func BuildInitiatorRequests ¶
func BuildTaskRequests ¶
func CallbackOrTimeout ¶
func ChainlinkEthLogFromGethLog ¶ added in v0.8.4
ChainlinkEthLogFromGethLog returns a copy of l as an models.Log. (They have identical fields, but the field tags differ, and the types differ slightly.)
func CreateBridgeTypeViaWeb ¶
func CreateBridgeTypeViaWeb( t testing.TB, app *TestApplication, payload string, ) *models.BridgeTypeAuthentication
CreateBridgeTypeViaWeb creates a bridgetype via web using /v2/bridge_types
func CreateExternalInitiatorViaWeb ¶ added in v0.6.6
func CreateExternalInitiatorViaWeb( t testing.TB, app *TestApplication, payload string, ) *presenters.ExternalInitiatorAuthentication
CreateExternalInitiatorViaWeb creates a bridgetype via web using /v2/bridge_types
func CreateHelloWorldJobViaWeb ¶
CreateHelloWorldJobViaWeb creates a HelloWorld JobSpec with the given MockServer Url
func CreateJobRunViaExternalInitiator ¶ added in v0.6.7
func CreateJobRunViaWeb ¶
func CreateJobRunViaWeb(t testing.TB, app *TestApplication, j models.JobSpec, body ...string) models.JobRun
CreateJobRunViaWeb creates JobRun via web using /v2/specs/ID/runs
func CreateJobRunWithStatus ¶
func CreateJobRunWithStatus(t testing.TB, store *strpkg.Store, job models.JobSpec, status models.RunStatus) models.JobRun
CreateJobRunWithStatus returns a new job run with the specified status that has been persisted
func CreateJobSpecViaWeb ¶
CreateJobSpecViaWeb creates a jobspec via web using /v2/specs
func CreateMemoryTestLogger ¶ added in v0.8.4
CreateMemoryTestLogger creates a logger that only directs output to the buffer testMemoryLog.
func CreateSpecViaWeb ¶
CreateJobSpecViaWeb creates a jobspec via web using /v2/specs
func CreateTestLogger ¶ added in v0.8.2
CreateTestLogger creates a logger that directs output to PrettyConsole configured for test output, and to the buffer testMemoryLog.
func CreateTxWithNonceAndGasPrice ¶ added in v0.8.2
func CreateTxWithNonceAndGasPrice( t testing.TB, store *strpkg.Store, from common.Address, sentAt uint64, nonce uint64, gasPrice int64, ) *models.Tx
CreateTxWithNonceAndGasPrice creates a Tx from a specified address, sentAt, nonce and gas price
func CreateTxWithNonceGasPriceAndRecipient ¶ added in v0.8.2
func CreateTxWithNonceGasPriceAndRecipient( t testing.TB, store *strpkg.Store, from common.Address, to common.Address, sentAt uint64, nonce uint64, gasPrice int64, ) *models.Tx
CreateTxWithNonceGasPriceAndRecipient creates a Tx from a specified sender, recipient, sentAt, nonce and gas price
func DecodeSessionCookie ¶
func EmptyBlock ¶ added in v0.8.2
EmptyBlock returns a new empty ethereum block
func EmptyCLIContext ¶
func ExtractTargetAddressFromERC20EthEthCallMock ¶
ExtractTargetAddressFromERC20EthEthCallMock extracts the contract address and the method data, for checking in a test.
func FindServiceAgreement ¶
func FixtureCreateJobViaWeb ¶
FixtureCreateJobViaWeb creates a job from a fixture using /v2/specs
func GetAccountAddress ¶
GetAccountAddress returns Address of the account in the keystore of the passed in store
func GetAccountAddresses ¶
GetAccountAddresses returns the Address of all registered accounts
func GetDefaultFromAddress ¶ added in v0.8.7
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 JSONResultFromFixture ¶
JSONResultFromFixture create model.JSON with params.result found in the given file path
func JobRunStays ¶
func JobRunStays( t testing.TB, store *strpkg.Store, jr models.JobRun, status models.RunStatus, optionalDuration ...time.Duration, ) models.JobRun
JobRunStays tests if a JobRun will consistently stay at the specified status
func JobRunStaysPendingIncomingConfirmations ¶ added in v0.8.4
func JobRunStaysPendingIncomingConfirmations( t testing.TB, store *strpkg.Store, jr models.JobRun, ) models.JobRun
JobRunStaysPendingIncomingConfirmations tests if a JobRun will stay at the PendingIncomingConfirmations Status
func LogFromFixture ¶
LogFromFixture create ethtypes.log from file path
func MakeRoundStateReturnData ¶ added in v0.8.3
func MustAllJobsWithStatus ¶
func MustDefaultKey ¶ added in v0.8.11
func MustEVMUintHexFromBase10String ¶ added in v0.8.2
func MustHelloWorldAgreement ¶ added in v0.8.4
MustHelloWorldAgreement returns the fixture hello world agreement
func MustInsertBroadcastEthTxAttempt ¶ added in v0.8.7
func MustInsertConfirmedEthTxWithAttempt ¶ added in v0.8.7
func MustInsertEthReceipt ¶ added in v0.8.7
func MustInsertFatalErrorEthTx ¶ added in v0.8.7
func MustInsertKey ¶ added in v0.8.7
func MustInsertRandomKey ¶ added in v0.8.11
func MustInsertTaskRun ¶ added in v0.8.7
func MustInsertUnconfirmedEthTxWithBroadcastAttempt ¶ added in v0.8.7
func MustJSONDel ¶
MustJSONDel uses sjson.Delete to remove a path from a JSON string and returns the string
func MustJSONSet ¶
MustJSONSet uses sjson.Set to set a path in a JSON string and returns the string See https://github.com/tidwall/sjson
func MustNewUser ¶ added in v0.8.4
func MustParseURL ¶
func MustRandomUser ¶ added in v0.8.4
func MustReadFile ¶
MustReadFile loads a file but should never fail
func MustResultString ¶ added in v0.8.2
func NewBridgeType ¶
func NewBridgeType(t testing.TB, info ...string) (*models.BridgeTypeAuthentication, *models.BridgeType)
NewBridgeType create new bridge type given info slice
func NewEthHeader ¶ added in v0.8.7
func NewEthTxAttempt ¶ added in v0.8.7
func NewEthTxAttempt(t *testing.T, etxID int64) models.EthTxAttempt
func NewHTTPMockServer ¶
func NewHTTPMockServer( t *testing.T, status int, wantMethod string, response string, callback ...func(http.Header, string), ) (*httptest.Server, func())
NewHTTPMockServer create http test server with passed in parameters
func NewHTTPMockServerWithAlterableResponse ¶ added in v0.8.4
func NewJobRun ¶ added in v0.8.2
NewJobRun returns a newly initialized job run for test purposes only
func NewJobRunPendingBridge ¶ added in v0.8.2
NewJobRunPendingBridge returns a new job run in the pending bridge state
func NewJobWithExternalInitiator ¶ added in v0.6.7
func NewJobWithExternalInitiator(ei *models.ExternalInitiator) models.JobSpec
NewJobWithExternalInitiator creates new Job with external initiator
func NewJobWithFluxMonitorInitiator ¶ added in v0.8.2
NewJobWithFluxMonitorInitiator create new Job with FluxMonitor initiator
func NewJobWithFluxMonitorInitiatorWithBridge ¶ added in v0.8.2
NewJobWithFluxMonitorInitiator create new Job with FluxMonitor initiator
func NewJobWithLogInitiator ¶
NewJobWithLogInitiator create new Job with ethlog initiator
func NewJobWithRunAtInitiator ¶
NewJobWithRunAtInitiator create new Job with RunAt initiator
func NewJobWithRunLogInitiator ¶
NewJobWithRunLogInitiator creates a new JobSpec with the RunLog initiator
func NewJobWithSchedule ¶
NewJobWithSchedule create new job with the given schedule
func NewJobWithWebInitiator ¶
NewJobWithWebInitiator create new Job with web initiator
func NewMockAuthenticatedHTTPClient ¶
func NewMockAuthenticatedHTTPClient(cfg orm.ConfigReader, sessionID string) cmd.HTTPClient
func NewPollingDeviationChecker ¶ added in v0.8.3
func NewPollingDeviationChecker(t *testing.T, s *strpkg.Store) *fluxmonitor.PollingDeviationChecker
func NewRandomInt64 ¶ added in v0.8.4
func NewRandomInt64() int64
func NewRandomnessRequestLog ¶ added in v0.8.2
func NewRandomnessRequestLog(t *testing.T, r models.RandomnessRequestLog, emitter common.Address, blk int) models.Log
NewRandomnessRequestLog(t, r, emitter, blk) is a RandomnessRequest log for the randomness request log represented by r.
func NewRunInputWithResult ¶ added in v0.8.2
func NewRunInputWithResultAndJobRunID ¶ added in v0.8.2
func NewRunInputWithString ¶ added in v0.8.2
func NewRunLog ¶
func NewRunLog( t *testing.T, jobID *models.ID, emitter common.Address, requester common.Address, blk int, json string, ) models.Log
NewRunLog create models.Log for given jobid, address, block, and json
func NewSession ¶
func NewStoreWithConfig ¶
func NewStoreWithConfig(config *TestConfig) (*strpkg.Store, func())
NewStoreWithConfig creates a new store with given config
func NewTransaction ¶ added in v0.8.2
func NewWSServer ¶
NewWSServer returns a new wsserver
func NullableTime ¶
NullableTime will return a valid nullable time given time.Time
func ParseISO8601 ¶
ParseISO8601 given the time string it Must parse the time and return it
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 ParseNullableTime ¶
ParseNullableTime given a time string parse it into a null.Time
func ParseResponseBody ¶
ParseResponseBody will parse the given response into a byte slice
func ReadLogs ¶
func ReadLogs(config orm.ConfigReader) (string, error)
ReadLogs returns the contents of the applications log file as a string
func ServiceAgreementFromString ¶
func ServiceAgreementFromString(str string) (models.ServiceAgreement, error)
func StoredVRFKey ¶ added in v0.8.2
StoredVRFKey creates a VRFKeyStore on store, imports a known VRF key into it, and returns the corresponding public key.
func StringToHash ¶
func TxReceiptFromFixture ¶
TxReceiptFromFixture create ethtypes.log from file path
func UnauthenticatedPatch ¶
func UnauthenticatedPost ¶ added in v0.6.7
func UpdateJobRunViaWeb ¶
func UpdateJobRunViaWeb( t testing.TB, app *TestApplication, jr models.JobRun, bta *models.BridgeTypeAuthentication, body string, ) models.JobRun
UpdateJobRunViaWeb updates jobrun via web using /v2/runs/ID
func WaitForJobRunStatus ¶
func WaitForJobRunStatus( t testing.TB, store *strpkg.Store, jr models.JobRun, status models.RunStatus, ) models.JobRun
WaitForJobRunStatus waits for a JobRun to reach given status
func WaitForJobRunToComplete ¶
WaitForJobRunToComplete waits for a JobRun to reach Completed Status
func WaitForJobRunToPendBridge ¶
func WaitForJobRunToPendBridge( t testing.TB, store *strpkg.Store, jr models.JobRun, ) models.JobRun
WaitForJobRunToPendBridge waits for a JobRun to reach PendingBridge Status
func WaitForJobRunToPendIncomingConfirmations ¶ added in v0.8.4
func WaitForJobRunToPendIncomingConfirmations( t testing.TB, store *strpkg.Store, jr models.JobRun, ) models.JobRun
WaitForJobRunToPendIncomingConfirmations waits for a JobRun to reach PendingIncomingConfirmations Status
func WaitForJobRunToPendOutgoingConfirmations ¶ added in v0.8.4
func WaitForJobRunToPendOutgoingConfirmations( t testing.TB, store *strpkg.Store, jr models.JobRun, ) models.JobRun
WaitForJobRunToPendOutgoingConfirmations waits for a JobRun to reach PendingOutgoingConfirmations Status
func WaitForRuns ¶
WaitForRuns waits for the wanted number of runs then returns a slice of the JobRuns
func WaitForRunsAtLeast ¶
WaitForRunsAtLeast waits for at least the passed number of runs to start.
func WaitForSyncEventCount ¶
WaitForSyncEventCount checks if the sync event count eventually reaches the amound specified in parameter want.
func WaitForTxAttemptCount ¶
Types ¶
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(app chainlink.Application) error
Run runs the blocked runner, doesn't return until the channel is signalled
type CallbackAuthenticator ¶
CallbackAuthenticator contains a call back authenticator method
func (CallbackAuthenticator) Authenticate ¶
Authenticate authenticates store and pwd with the callback authenticator
func (CallbackAuthenticator) AuthenticateVRFKey ¶ added in v0.8.2
func (a CallbackAuthenticator) AuthenticateVRFKey(*store.Store, string) error
type EmptyRunner ¶
type EmptyRunner struct{}
EmptyRunner is an EmptyRunner
func (EmptyRunner) Run ¶
func (r EmptyRunner) Run(app chainlink.Application) error
Run runs the empty runner
type EthMock ¶
type EthMock struct { Responses []MockResponse Subscriptions []*MockSubscription // contains filtered or unexported fields }
EthMock is a mock ethereum client
func MockEthOnStore ¶
MockEthOnStore given store return new EthMock Client
func (*EthMock) AssertAllCalled ¶
func (mock *EthMock) AssertAllCalled()
AssertAllCalled immediately checks that all calls have been made
func (*EthMock) Context ¶
Context adds helpful context to EthMock values set in the callback function.
func (*EthMock) Dial ¶
func (mock *EthMock) Dial(url string) (eth.CallerSubscriber, error)
Dial mock dial
func (*EthMock) EventuallyAllCalled ¶
EventuallyAllCalled eventually will return after all the mock subscriptions and responses are called
func (*EthMock) GethClient ¶ added in v0.8.7
func (mock *EthMock) GethClient(f func(c eth.GethClient) error) error
GethClient is a noop, solely needed to conform to GethClientWrapper interface
func (*EthMock) RPCClient ¶ added in v0.8.9
RPCClient is a noop, solely needed to conform to GethClientWrapper interface
func (*EthMock) Register ¶
func (mock *EthMock) Register( method string, response interface{}, callback ...func(interface{}, ...interface{}) error, )
Register register mock responses and append to Ethmock
func (*EthMock) RegisterError ¶
RegisterError register mock errors to EthMock
func (*EthMock) RegisterNewHead ¶
RegisterNewHead register new head at given blocknumber
func (*EthMock) RegisterNewHeads ¶
RegisterNewHeads registers a newheads subscription
func (*EthMock) RegisterSubscription ¶
func (mock *EthMock) RegisterSubscription(name string, channels ...interface{}) *MockSubscription
RegisterSubscription register a mock subscription to the given name and channels
func (*EthMock) ShouldCall ¶
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{} Received chan string 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 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 InstanceAppFactory ¶
type InstanceAppFactory struct {
App chainlink.Application
}
InstanceAppFactory is an InstanceAppFactory
func (InstanceAppFactory) NewApplication ¶
func (f InstanceAppFactory) NewApplication(config *orm.Config, onConnectCallbacks ...func(chainlink.Application)) chainlink.Application
NewApplication creates a new application with specified config
type InstantClock ¶
type InstantClock struct{}
InstantClock an InstantClock
type MemorySink ¶ added in v0.8.2
type MemorySink struct {
// contains filtered or unexported fields
}
MemorySink implements zap.Sink by writing all messages to a buffer.
func MemoryLogTestingOnly ¶ added in v0.8.2
func MemoryLogTestingOnly() *MemorySink
func (*MemorySink) Close ¶ added in v0.8.2
func (s *MemorySink) Close() error
Close is a dummy method to satisfy the zap.Sink interface
func (*MemorySink) String ¶ added in v0.8.2
func (s *MemorySink) String() string
String returns the full log contents, as a string
func (*MemorySink) Sync ¶ added in v0.8.2
func (s *MemorySink) Sync() error
Sync is a dummy method to satisfy the zap.Sink interface
type MockAPIInitializer ¶
type MockAPIInitializer struct {
Count int
}
func (*MockAPIInitializer) Initialize ¶
type MockChangePasswordPrompter ¶
type MockChangePasswordPrompter struct { models.ChangePasswordRequest // contains filtered or unexported fields }
func (MockChangePasswordPrompter) Prompt ¶
func (m MockChangePasswordPrompter) Prompt() (models.ChangePasswordRequest, error)
type MockCookieAuthenticator ¶
func (MockCookieAuthenticator) Authenticate ¶
func (m MockCookieAuthenticator) Authenticate(models.SessionRequest) (*http.Cookie, 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 { ConnectedCallback func(bn *models.Head) // contains filtered or unexported fields }
MockHeadTrackable allows you to mock HeadTrackable
func (*MockHeadTrackable) Connect ¶
func (m *MockHeadTrackable) Connect(bn *models.Head) error
Connect increases the connected count by one
func (*MockHeadTrackable) ConnectedCount ¶
func (m *MockHeadTrackable) ConnectedCount() int32
ConnectedCount returns the count of connections made, safely.
func (*MockHeadTrackable) Disconnect ¶
func (m *MockHeadTrackable) Disconnect()
Disconnect increases the disconnected count by one
func (*MockHeadTrackable) DisconnectedCount ¶
func (m *MockHeadTrackable) DisconnectedCount() int32
DisconnectedCount returns the count of disconnections made, safely.
func (*MockHeadTrackable) OnNewLongestChain ¶ added in v0.8.5
func (m *MockHeadTrackable) OnNewLongestChain(models.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 MockResponse ¶
type MockResponse struct {
// contains filtered or unexported fields
}
MockResponse a mock response
type MockSessionRequestBuilder ¶
func (*MockSessionRequestBuilder) Build ¶
func (m *MockSessionRequestBuilder) Build(string) (models.SessionRequest, error)
type MockSigner ¶
type MockSigner struct{}
type MockSubscription ¶
type MockSubscription struct { Errors chan error // contains filtered or unexported fields }
MockSubscription a mock subscription
func EmptyMockSubscription ¶
func EmptyMockSubscription() *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{}) error
Render appends values to renderer mock
type SimpleGethWrapper ¶ added in v0.8.7
type SimpleGethWrapper struct {
// contains filtered or unexported fields
}
SimpleGethWrapper offers an easy way to mock the eth client
func NewSimpleGethWrapper ¶ added in v0.8.7
func NewSimpleGethWrapper(clients ...interface{}) *SimpleGethWrapper
func (*SimpleGethWrapper) GethClient ¶ added in v0.8.7
func (wrapper *SimpleGethWrapper) GethClient(f func(c eth.GethClient) error) error
type SimulatedBackendClient ¶ added in v0.8.4
type SimulatedBackendClient struct {
// contains filtered or unexported fields
}
SimulatedBackendClient is an eth.SimulatedBackendClient implementation using a simulated blockchain backend. Note that not all RPC methods are implemented here.
func (*SimulatedBackendClient) Call ¶ added in v0.8.4
func (c *SimulatedBackendClient) Call(result interface{}, method string, args ...interface{}) error
Call mocks the ethereum client RPC calls used by chainlink, copying the return value into result.
func (*SimulatedBackendClient) Close ¶ added in v0.8.4
func (c *SimulatedBackendClient) Close()
Close terminates the underlying blockchain's update loop.
func (*SimulatedBackendClient) GetBlockByNumber ¶ added in v0.8.4
func (c *SimulatedBackendClient) GetBlockByNumber(hex string) (block models.Block, err error)
GetBlockByNumber returns the block for the passed hex, or "latest", "earliest", "pending". Includes all transactions
func (*SimulatedBackendClient) GetBlockHeight ¶ added in v0.8.4
func (c *SimulatedBackendClient) GetBlockHeight() (height uint64, err error)
GetBlockHeight returns height of latest block in the simulated blockchain.
func (*SimulatedBackendClient) GetChainID ¶ added in v0.8.4
func (c *SimulatedBackendClient) GetChainID() (*big.Int, error)
GetChainID returns the ethereum ChainID.
func (*SimulatedBackendClient) GetERC20Balance ¶ added in v0.8.4
func (c *SimulatedBackendClient) GetERC20Balance(address common.Address, contractAddress common.Address) (balance *big.Int, err error)
GetERC20Balance returns the balance of the given address for the token contract address.
func (*SimulatedBackendClient) GetEthBalance ¶ added in v0.8.4
func (c *SimulatedBackendClient) GetEthBalance(address common.Address, ) (balance *assets.Eth, err error)
GetEthBalance returns the balance of the given addresses in Ether.
func (*SimulatedBackendClient) GetLatestBlock ¶ added in v0.8.4
func (c *SimulatedBackendClient) GetLatestBlock() (models.Block, error)
GetLatestBlock returns the last committed block of the best blockchain the blockchain node is aware of.
func (*SimulatedBackendClient) GetLogs ¶ added in v0.8.4
func (c *SimulatedBackendClient) GetLogs(q ethereum.FilterQuery) (logs []models.Log, err error)
GetLogs returns all logs that respect the passed filter query.
func (*SimulatedBackendClient) GetNonce ¶ added in v0.8.4
func (c *SimulatedBackendClient) GetNonce(address common.Address) (nonce uint64, err error)
GetNonce returns the nonce (transaction count) for a given address.
func (*SimulatedBackendClient) GetTxReceipt ¶ added in v0.8.4
GetTxReceipt returns the transaction receipt for the given transaction hash.
func (*SimulatedBackendClient) GethClient ¶ added in v0.8.7
func (c *SimulatedBackendClient) GethClient(f func(c eth.GethClient) error) error
GethClient is a noop, solely needed to conform to GethClientWrapper interface
func (*SimulatedBackendClient) RPCClient ¶ added in v0.8.9
func (c *SimulatedBackendClient) RPCClient(f func(c eth.RPCClient) error) error
RPCClient is a noop, solely needed to conform to GethClientWrapper interface
func (*SimulatedBackendClient) SendRawTx ¶ added in v0.8.4
func (c *SimulatedBackendClient) SendRawTx( txBytes []byte) (txHash common.Hash, err error)
SendRawTx sends a signed transaction to the transaction pool.
func (*SimulatedBackendClient) Subscribe ¶ added in v0.8.4
func (c *SimulatedBackendClient) Subscribe(ctx context.Context, namespace interface{}, channelAndArgs ...interface{}) (eth.Subscription, error)
Subscribe is a dummy method present only to satisfy the eth.Client interface. The original method is for subscribing to events observed by the RPC client, but for a simulated backend that makes no sense.
func (*SimulatedBackendClient) SubscribeToLogs ¶ added in v0.8.4
func (c *SimulatedBackendClient) SubscribeToLogs(ctx context.Context, channel chan<- models.Log, q ethereum.FilterQuery) (eth.Subscription, error)
SubscribeToLogs registers a subscription for push notifications of logs from a given address.
func (*SimulatedBackendClient) SubscribeToNewHeads ¶ added in v0.8.4
func (c *SimulatedBackendClient) SubscribeToNewHeads(ctx context.Context, channel chan<- types.Header) (eth.Subscription, error)
SubscribeToNewHeads registers a subscription for push notifications of new blocks.
type TestApplication ¶
type TestApplication struct { *chainlink.ChainlinkApplication Config *TestConfig Server *httptest.Server Started bool EthMock *EthMock Backend *backends.SimulatedBackend // contains filtered or unexported fields }
TestApplication holds the test application and test servers
func NewApplication ¶
func NewApplication(t testing.TB, flags ...string) (*TestApplication, func())
NewApplication creates a New TestApplication along with a NewConfig It mocks the keystore with no keys or accounts by default
func NewApplicationWithConfig ¶
func NewApplicationWithConfig(t testing.TB, tc *TestConfig, flags ...string) (*TestApplication, func())
NewApplicationWithConfig creates a New TestApplication with specified test config
func NewApplicationWithConfigAndKey ¶
func NewApplicationWithConfigAndKey(t testing.TB, tc *TestConfig, flags ...string) (*TestApplication, func())
NewApplicationWithConfigAndKey creates a new TestApplication with the given testconfig it will also provide an unlocked account on the keystore
func NewApplicationWithConfigAndKeyOnSimulatedBlockchain ¶ added in v0.8.4
func NewApplicationWithConfigAndKeyOnSimulatedBlockchain( t testing.TB, tc *TestConfig, backend *backends.SimulatedBackend, flags ...string) (app *TestApplication, cleanup func())
func NewApplicationWithKey ¶
func NewApplicationWithKey(t testing.TB, flags ...string) (*TestApplication, func())
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) AddUnlockedKey ¶
func (ta *TestApplication) AddUnlockedKey()
func (*TestApplication) ImportKey ¶
func (ta *TestApplication) ImportKey(content string)
ImportKey adds private key to the application disk keystore, not database.
func (*TestApplication) InstantClock ¶
func (ta *TestApplication) InstantClock() InstantClock
InstantClock create InstantClock
func (*TestApplication) MockCallerSubscriberClient ¶ added in v0.8.2
func (ta *TestApplication) MockCallerSubscriberClient(flags ...string) *EthMock
MockCallerSubscriberClient create new EthMock Client
func (*TestApplication) MustCreateJobRun ¶ added in v0.8.2
func (ta *TestApplication) MustCreateJobRun(txHashBytes []byte, blockHashBytes []byte) *models.JobRun
func (*TestApplication) MustSeedNewSession ¶ added in v0.8.4
func (ta *TestApplication) MustSeedNewSession() string
func (*TestApplication) NewAuthenticatingClient ¶
func (ta *TestApplication) NewAuthenticatingClient(prompter cmd.Prompter) *cmd.Client
func (*TestApplication) NewBox ¶
func (ta *TestApplication) NewBox() packr.Box
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() error
func (*TestApplication) StartAndConnect ¶
func (ta *TestApplication) StartAndConnect() error
func (*TestApplication) Stop ¶
func (ta *TestApplication) Stop() error
Stop will stop the test application and perform cleanup
type TestConfig ¶
TestConfig struct with test store and wsServer
func BootstrapThrowawayORM ¶ added in v0.8.5
func BootstrapThrowawayORM(t *testing.T, name string, migrate bool, loadFixtures ...bool) (*TestConfig, *orm.ORM, func())
BootstrapThrowawayORM creates an ORM which runs in a separate database than the normal unit tests, so it you can do things like use other Postgres connection types with it.
func NewConfig ¶
func NewConfig(t testing.TB) (*TestConfig, func())
NewConfig returns a new TestConfig
func NewConfigWithWSServer ¶
func NewConfigWithWSServer(t testing.TB, wsserver *httptest.Server) *TestConfig
NewConfigWithWSServer return new config with specified wsserver
func NewTestConfig ¶ added in v0.6.6
func NewTestConfig(t testing.TB, options ...interface{}) *TestConfig
NewTestConfig returns a test configuration
func (*TestConfig) SetEthereumServer ¶
func (tc *TestConfig) SetEthereumServer(wss *httptest.Server)
SetEthereumServer sets the ethereum server for testconfig with given wsserver
type TriggerClock ¶
type TriggerClock struct {
// contains filtered or unexported fields
}
TriggerClock implements the AfterNower interface, but must be manually triggered to resume computation on After.
func NewTriggerClock ¶
func NewTriggerClock(t testing.TB) *TriggerClock
NewTriggerClock returns a new TriggerClock, that a test can manually fire to continue processing in a Clock dependency.
func (*TriggerClock) After ¶
func (t *TriggerClock) After(_ time.Duration) <-chan time.Time
After waits on a manual trigger.
func (TriggerClock) Now ¶ added in v0.8.2
func (t TriggerClock) Now() time.Time
Now returns the current local time
func (*TriggerClock) Trigger ¶
func (t *TriggerClock) Trigger()
Trigger sends a time to unblock the After call.
func (*TriggerClock) TriggerWithoutTimeout ¶ added in v0.8.2
func (t *TriggerClock) TriggerWithoutTimeout()
TriggerWithoutTimeout is a special case where we know the trigger might block but don't care