csi-test
csi-test houses packages and libraries to help test CSI client and plugins.
For Container Orchestration Tests
CO developers can use this framework to create drivers based on the
Golang mock framework. Please see
co_test.go for an example.
Mock driver for testing
We also provide a container called quay.io/k8scsi/mock-driver:canary
which can be used as an in-memory mock driver.
It follows the same release cycle as other containers, so the latest release is quay.io/k8scsi/mock-driver:v0.3.0
.
You will need to setup the environment variable CSI_ENDPOINT
for the mock driver to know where to create the unix
domain socket.
There is an example deployment
for experiment with the mock csi driver.
For more complicated test-cases see how to use JavaScript hooks from the driver.
For CSI Driver Tests
To test drivers please take a look at pkg/sanity.
This package and csi-sanity are meant to test
the CSI API capability of a driver. They are meant to be an additional test to the unit, functional, and e2e tests of a
CSI driver.
Note
- Master is for CSI v1.2.0. Please see the branches for other CSI releases.
- Building has been tested with the Go version specified in release-tools/travis.yml
Community, discussion, contribution, and support
Learn how to engage with the Kubernetes community on the community page.
You can reach the maintainers of this project at:
Code of conduct
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.