What is a test step¶
A test step is made of three main components used to dermine the actions Chainsaw will perform when executing the step.
Reference documentation
The full structure of the TestStep is documented here.
Test step lifecycle¶
Test step lifecycle
- The step starts executing operations in the
trystatement - If an operation fails in the
trystatement- If a
catchstatement is present, all operations and collectors are executed
- If a
- If a
finallystatement is present, all operations and collectors are executed
Example¶
The test step below highlights the basic structure of test step containing all try, catch and finally statements.
Example
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: TestStep
metadata:
name: example
spec:
# try to apply a couple of resources
try:
- apply:
file: resources.yaml
# in case of error, collect pod logs
catch:
- podLogs: {}
# in all cases, collect events in the test namespace
finally:
- events: {}