Add automated UAT smoke tests
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# UAT smoke tests
|
||||
|
||||
The UAT smoke suite runs after each successful UAT deployment and can also be
|
||||
started manually with the `Smoke Test STEP3 UAT` Gitea workflow.
|
||||
|
||||
It checks:
|
||||
|
||||
- public API health, readiness, environment, and deployed revision;
|
||||
- legal metadata and configured Steam and Google authorization URLs;
|
||||
- registration, login, refresh, authenticated profile, dashboard, ratings,
|
||||
review queue, and randomized question retrieval;
|
||||
- random CCS attempt creation and abandonment;
|
||||
- public web/legal assets, completion of the Godot loader, and a visible,
|
||||
non-uniform canvas without browser or critical asset errors.
|
||||
|
||||
Each run creates a unique temporary learner account. The test abandons its CCS
|
||||
attempt and deletes the account even when an assertion fails. It does not
|
||||
submit question answers, complete OAuth, or open Stripe Checkout, so it does
|
||||
not alter question statistics, learner ratings, donations, or provider
|
||||
accounts.
|
||||
|
||||
Failure evidence is retained for 14 days under the workflow's
|
||||
`uat-smoke-<run number>-<attempt>` artifact. It includes JUnit XML, an HTML report, the
|
||||
rendered canvas image, and Playwright traces/screenshots for failed browser
|
||||
tests.
|
||||
|
||||
No secrets are required. The public UAT origins are supplied by the workflow.
|
||||
The registration endpoint permits five registrations per source IP in 15
|
||||
minutes, so repeatedly dispatching the smoke workflow in a short interval may
|
||||
receive HTTP 429 until that window resets.
|
||||
|
||||
To run the same suite from a Linux host with Docker:
|
||||
|
||||
```bash
|
||||
UAT_API_ORIGIN=https://us3q.ranaze.com \
|
||||
UAT_WEB_ORIGIN=https://ustep3.ranaze.com \
|
||||
bash .gitea/scripts/run-uat-smoke.sh
|
||||
```
|
||||
Reference in New Issue
Block a user