Skip to main content

ESS Community Integration Tests

Overview

The ESS Community Integration Tests project is designed to facilitate the testing of components against Element Server Suite. It provides a command-line interface (CLI) to run ESS integration tests.

Features

  • Set up a Kubernetes cluster for testing.
  • Run integration tests for ESS using predefined test suites.
  • Customize test runs with additional values files.

Prerequisites

  • Python 3.11 or higher
  • Docker
  • k3d
  • Helm
  • Optional: uv to install from git

The browser based tests drive a Chromium running in a docker container, so no browser needs to be installed locally. They need the optional Playwright controller:

  • On glibc hosts, install it with the browser extra, e.g. pipx install ess-community-integration-tests[browser].
  • On musl hosts (e.g. Alpine Linux), Playwright publishes no packages: install it with scripts/setup_playwright_controller.sh instead.

Without it, the browser tests are skipped.

Installation

pipx install ess-community-integration-tests
uvx ess-community-integration-tests

To also run the browser based tests, install the browser extra:

pipx install ess-community-integration-tests[browser]
uvx --from 'ess-community-integration-tests[browser]' pytest-ess

You can also install it from the git repository :

# You can also use any ESS Community version
VERSION=main
uv tool install git+https://github.com/element-hq/ess-helm.git@$VERSION#subdirectory=tests

Example:

VERSION=main
uv tool install git+https://github.com/element-hq/ess-helm.git@$VERSION#subdirectory=tests
    Updated https://github.com/element-hq/ess-helm.git (d6d33a7f7051a0b6bbdcc609a059ae328feee269)
      Built ess-community-integration-tests @ git+https://github.com/element-hq/ess-helm.git@d6d33a7f7051a0b6bbdcc609a059ae328feee269#subdirectory=tests
...
Installed 3 executables: collect-ess-logs, pytest-ess, setup-ess-cluster

Usage

Setting Up a Cluster

To set up a Kubernetes cluster for testing, use the setup-ess-cluster command:

setup-ess-cluster

Running Tests

To run tests, use the run-tests command:

pytest-ess --test-suite <test-suite-name> [options]

Options

  • --test-suite: Name of the test suite to run. Available test suites are defined in the env directory as .rc files.
  • --pull-chart: Pull the Helm chart for testing.
  • --chart-version: Specify the chart version to pull. If not provided, the version is inferred from the package version.
  • --keep: Keep the Kubernetes cluster after tests complete.
  • --additional-test-values-file: Path to an additional values file for custom test configurations.

Test Suites

Test suites are defined in the env directory as .rc files. Each file corresponds to a different test environment configuration.

Metadata

Release files for ess-community-integration-tests 26.10.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ess-community-integration-tests 26.10.1
File Size Uploaded
ess_community_integration_tests-26.10.1.tar.gz 47.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ess-community-integration-tests 26.10.1
File Interpreter ABI Platform
ess_community_integration_tests-26.10.1-py3-none-any.whl Python 3 none any Details

Total release size: 114.3 kB

Release files / ess_community_integration_tests-26.10.1.tar.gz

Download URL ess_community_integration_tests-26.10.1.tar.gz
Size 47.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f22a884ba9191ebdee052084ea0ba3517500952c478ba6994e2112b5c36f5749
BLAKE2b-256 checksum
How to use checksums
090861a9e59b9a3416492f4ce2908fbb2f60e1f50182007ab97a46e3097ae22c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ess_community_integration_tests-26.10.1-py3-none-any.whl

Download URL ess_community_integration_tests-26.10.1-py3-none-any.whl
Size 67.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c40b01cf1bdce11b29dbc34a17388e45dd53439d87665baede4e518bad890de9
BLAKE2b-256 checksum
How to use checksums
8e8bcd65bf3a0d4551338102416271d722ee3ae6cdf3f4495ab0cfd130eec7f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

26.10.1 This release

2 release files

26.9.4

2 release files

26.9.3

2 release files

26.9.2

2 release files

26.8.1

2 release files

26.7.2

2 release files

26.7.1

2 release files

26.7.0

2 release files

26.6.2

2 release files

26.5.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page