From e593a5ba1917f92f82fd819ebae0d1db88cb4da2 Mon Sep 17 00:00:00 2001 From: James Mayclin Date: Fri, 31 Jan 2025 11:19:27 -0800 Subject: [PATCH] docs(integv2): add architecture diagram (#5072) --- tests/integrationv2/README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/integrationv2/README.md b/tests/integrationv2/README.md index 2f2333a60de..5d1f43a641a 100644 --- a/tests/integrationv2/README.md +++ b/tests/integrationv2/README.md @@ -20,6 +20,34 @@ curl -LsSf https://astral.sh/uv/install.sh | sh uv run pytest --provider-version --best-effort-NOT-FOR-CI -x -rpfs -n auto ``` +## Architecture +``` + ┌────────────────────────────────────────────────────────────┐ + │ │ + │ Pytest Process │ + │ Managed Managed │ + │ Process (s2n) Process (Ossl) │ + │ │ ▲ │ ▲ │ + └─────┼───────┼─────────────────────────────┼────────┼───────┘ + │ │ │ │ + STDIN STDOUT STDIN STDOUT + │ │ │ │ + │ │ │ │ + ┌──▼───────┼───┐ ┌──▼────────┼────┐ + │ s2nc │◄────────TLS─────────►│ openssl server│ + └──────────────┘ ▲ └────────────────┘ + │ ▲ + │ │ + localhost/socket │ + process +``` +The integration test harness relies on client and server executables. It coordinates +these through stdin/stdout. + +The above diagram shows an example setup with `s2nc` as the client and `openssl` +as the server. Note that these are just for the purpose of documentation, and the +actual integration tests run with a wide variety of executables. + ## Run all tests The fastest way to run the integrationv2 tests is to run `make` from the S2N root directory.