xk6-disruptor
xk6-disruptor copied to clipboard
Implement e2e tests using k6
Presently the disruptor's e2e tests are implemented in go. These tests rely on a massive library developed in the project for
- Setting up a test cluster (using kind)
- Configuring the cluster (e.g. installing an ingress controller)
- Deploying the artifacts required for the test (pods, services, ingresses)
- Executing some actions and performing some validations
Maintaining this library in the project creates a considerable overhead. Therefore, it would be convenient to reuse existing tools in the k6 ecosystem:
- xk6-kubernetes for creating the test artifacts
- k6 for executing the test and performing validations
One task that seems to be outside the scope of these tools is the creation and configuration of the cluster itself, including:
- Exposing a port to access the kind cluster
- Install an ingress controller
- pre-load images needed by the tests (in particular, the disruptor's agent image that is built locally)
This task could be maintained in the project and potentially externalized as a separate tool.
k6-environment seems a promising candidate to help in this task.