Skip to content

Latest commit

 

History

History
 
 

docs

Go E2E Test Framework for Kubernetes

Design Document

This document captures high-level design ideas for the next generation of a Go framework for testing components running on Kubernetes. The framework, referred to as e2e-framework provides ways that makes it easy to define tests functions that can programmatically test components running on a cluster. The two overall goals of the new framework are to allow developers to quickly and easily assemble end-to-end tests and to provide a collection of support packages to help with interacting with the API-server.

Examples

This section of the Document contains a series of examples that details how to leverage e2e-framework for specific use-cases or behaviors that range from interacting with real clusters to filtering the tests by labels.

Leveraging CLI Flags and Adding Custom Flags

  1. Leveraging Flags
  2. Adding Custom Flags

Test Filtering

  1. Filtering Tests by Skipping or Selecting flags

Using Custom Decoders

  1. Custom Decoder

Custom Resource Definition

  1. Integrate CRDs into the test workflow

Runtime Features

  1. Custom Namespace for Each Test
  2. Fail Fast Mode
  3. Dry Run Mode
  4. Custom ENV Functions
  5. Using Existing Kind Cluster
  6. Pod Command Execution
  7. Parallel Test Run
  8. Test Tables
  9. Resource Watch

Multi Cluster Tests

  1. Multi Cluster Test Run
  2. Real Cluster Integration

Third Party Integration

  1. Helm
  2. Sonobuoy