The Chainlink Testing Framework is a blockchain development framework written in Go. Its primary purpose is to help chainlink developers create extensive integration, e2e, performance, and chaos tests to ensure the stability of the chainlink project. It can also be helpful to those who just want to use chainlink oracles in their projects to help test their contracts, or even for those that aren't using chainlink.
If you're looking to implement a new chain integration for the testing framework, head over to the blockchain directory for more info.
We have a k8s package we are using in tests, it provides:
- cdk8s based wrappers
- High-level k8s API
- Automatic port forwarding
You can also use this package to spin up standalone environments.
Read here about how to spin up a local cluster
Set up deps, you need to have node 14.x.x
, helm and yarn
Then use
make install_deps
To read how to run a test in k8s, read here
Create an env in a separate file and run it
export CHAINLINK_IMAGE="public.ecr.aws/chainlink/chainlink"
export CHAINLINK_TAG="1.4.0-root"
export CHAINLINK_ENV_USER="Satoshi"
go run k8s/examples/simple/env.go
For more features follow tutorial
go run k8s/examples/simple/env.go
If you have another env of that type, you can connect by overriding environment name
ENV_NAMESPACE="..." go run k8s/examples/chainlink/env.go
Add more presets here
Add more programmatic examples here
If you have chaosmesh installed in your cluster you can pull and generated CRD in go like that
make chaosmesh
If you need to check your system tests coverage, use that