xk6-disruptor icon indicating copy to clipboard operation
xk6-disruptor copied to clipboard

Implement e2e tests using k6

Open pablochacin opened this issue 1 year ago • 0 comments

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.

pablochacin avatar Aug 23 '23 16:08 pablochacin