tree: 8211aba9f4a686e0d6488a3134e49bfcb8bf18d5 [path history] [tgz]
  1. endpoints/
  2. features/
  3. ingress/
  4. plugins/
  5. scaffold/
  6. testdata/
  7. e2e.go
  8. e2e_test.go
  9. go.mod
  10. go.sum
  11. README.md
test/e2e/README.md

apisix ingress controller e2e test suites

Scaffold

a e2e test scaffold is prepared to run test cases easily. The source codes are in directory test/e2e/scaffold, it builds necessary running environment:

  • Create a brand new namespace;
  • Create etcd deployment and etcd service in the specified namespace;
  • Create apisix deployment and apisix service in the specified namespace (note both the control plane and data plane are created);
  • Create apisix-ingress-controller deployment in the specified namespace;
  • Create a http server with kennethreitz/httpbin as the upstream.

The above mentioned steps are run before each case starts and all resources will be destroyed after the case finishes.

Plugins

Test cases inside plugins directory test the availability about APISIX plugins.

Features

Test caes inside features directory test some features about APISIX, such as traffic-split, health check and so on.

Quick Start

Run make e2e-test to run the e2e test suites in your development environment, a several stuffs that this command will do:

  1. Create a Kubernetes cluster by kind, please installing in advance.
  2. Build and push all related images to this cluster.
  3. Run e2e test suites.

Step 1 and 2 can be skipped by passing E2E_SKIP_BUILD=1 to this directive, also, you can customize the running concurrency of e2e test suites by passing E2E_CONCURRENCY=X where X is the desired number of cases running in parallel.

Run make kind-reset to delete the cluster that created by make e2e-test.