Files
loadbalancer/docs/testing.md
T
2026-06-30 10:16:03 +02:00

45 lines
1.2 KiB
Markdown

# Testing
All project validation should run through Docker-based commands.
## Canonical test command
The canonical project validation command is:
```bash
docker compose config
```
## Smoke test
After replacing the example backend addresses and starting the stack, verify HTTP routing:
```bash
curl -H 'Host: lab.younerd.org' http://LOAD_BALANCER_HOST/
curl -H 'Host: azionelab.org' http://LOAD_BALANCER_HOST/
curl -H 'Host: www.azionelab.org' http://LOAD_BALANCER_HOST/
```
Then verify TCP TLS connectivity:
```bash
openssl s_client -connect LOAD_BALANCER_HOST:443 -servername EXPECTED_DNS_NAME
```
The certificate shown by `openssl` should be the backend certificate, not a certificate stored by Traefik.
For the included SNI example:
```bash
openssl s_client -connect LOAD_BALANCER_HOST:443 -servername lab.younerd.org
openssl s_client -connect LOAD_BALANCER_HOST:443 -servername azionelab.org
openssl s_client -connect LOAD_BALANCER_HOST:443 -servername www.azionelab.org
```
## Test categories
- Docker/Compose validation: `docker compose config`.
- Runtime health: `docker compose ps`.
- HTTP route smoke test: `curl`.
- TLS passthrough smoke test: `openssl s_client`.