Testing solution written in golang using ginkgo framework for Eclipse Che. This tests runs in Openshift CI Platform.
- Instrumented tests with ginkgo framework. Find more info: https://onsi.github.io/ginkgo/
- Structured logging with zap.
- Use client-go to connect to Openshift Cluster.
- Deploy Eclipse Che nightly in Cluster.
- Defined events watcher oriented to Eclipse Che Resources. Please look
pkg/monitors/watcher.go
- Deploy Kubernetes Image Puller in Cluster which will pre-pull workspaces images.
- Create, start and get measure up times of Eclipse Che Workspaces
- Transform Json results of tests in prometheus language and send this file to AWS S3 to be consumed for Prometheus Push Gateway if aws will be provided
Log into your openshift cluster, using oc login -u <user> -p <password> <oc_api_url>.
A properly setup Go workspace using Go 1.13+ is required.
Install dependencies:
# Install dependencies
$ go mod tidy
# Copy the dependencies to vendor folder
$ go mod vendor
# Create che-test-harness binary in bin folder. Please add the binary to the path or just execute ./bin/che-test-harness
$ make build
The che-test-harness
command is the root command that executes all functionality within the che-test-harness repo through a number of variables
Che Test Harness comes with a number of arguments that can be passed to the che-test-harness
command. Supported arguments:
Argument | Usage | Default |
---|---|---|
--help |
Prints all available arguments | "" |
--che-namespace |
Namespace where Eclipe Che operator is deploye | che |
--artifacts-dir |
Directory where to store the artifacts generated by che-test-i | /tmp/artifacts |
--metrics-files |
Make reference where aws secrets are mounted | /etc/secrets |
Also che-test-harness
command support all Ginkgo
flags...
Che-Test-Harness run as a part of Openshift CI every 12 hours. To visualize the jobs please go to PROW. Openshift CI Job Configuration lives in ci-operator. How che-test-harness generate prometheus files with test results we have to send the prom. file to s3 to use after to push the results to Prometheus PUSH Gateway.