teleport/e2e
Zac Bergquist c3e6173651
Remove use of require assertions inside Eventually calls (#31112)
* Remove use of require assertions inside Eventually calls

require.Eventually runs the predicate function in a background
goroutine. It is invalid to use require to make assertions
inside the eventually, because require will fail the test if the
assertion fails, and tests can only be failed from the test's
main goroutine.

* Use EventuallyWithT
2023-08-30 16:54:53 +00:00
..
aws Remove use of require assertions inside Eventually calls (#31112) 2023-08-30 16:54:53 +00:00
config Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00
tests Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00
.gitignore Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00
docker-compose.yaml Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00
Makefile Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00
package.json Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00
playwright.config.ts Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00
README.md Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00
yarn.lock Add Playwright E2E tests boilerplates (#29286) 2023-08-07 23:59:22 +00:00

Teleport E2E Tests

This directory contains end-to-end tests for Teleport. These tests are designed to be run against a live cluster. They are written in TS and use Playwright to interact with the browser. Docker compose is used to spin up a cluster for testing and to run the tests.

Running the tests

# Make all removes the existing docker volumes to ensure a clean state
# and rebuild the containers
make all 

or

# Only run tests
make test

MacOS building notes

Before running the tests on MacOS in Docker, you need to build Linux compatible binaries. Binaries are build using our Docker images inside build.assets directory. You can also build them manually using make build-binaries command.

Running tests for development

Docker compose setup is designed to run tests in CI and create the same environment locally, so debugging potential issues is easier. E2E tests make changes to the cluster, so the order of the tests is important. To run tests for development, you can use yarn test command to run the test against the existing cluster. yarn codegen starts the Playwright codegen tool that allows to record the test and generate the code for it. This improves the development speed as most code can be generated.

Common issues

Cannot run macOS (Mach-O) executable in Docker: Exec format error

This error means that you are trying to run MacOS binary on Linux. You need to build Linux compatible binaries to run them in Docker. You can rebuild them using make build-binaries or just remove existing binaries in ../build as they will be rebuilt automatically.