Automated browser smoke tests for Hero OS Docker image #64
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
A
make smoketarget in hero_services that runs against a live Docker container and catches every broken section before manual testing. Tests should be curl-based (no browser needed) and exit non-zero on any failure.Test categories
1. Backend health (all 33 sockets)
GET /healthreturns 200rpc.healthreturns valid JSON-RPC2. Proxy routing (every WASM island path)
/hero_aibroker_server/health— not 404 or 502/hero_books_server/health— 200/hero_books_ui/— 200/hero_foundry_server/health— 200/hero_foundry_admin/— 200/hero_osis_ui/health— 200/hero_redis_server/health— not 502/hero_biz/health— not 5023. OSIS identity & login
userservice.user_count> 0 (admin seeded)authservice.get_challengereturns a challengeauthservice.login→ session token/loginalso returns JWT4. WASM island content (not just health)
5. Admin dashboards
6. Seed data verification
7. CORS
/hero_osis_ui/rpc/root/identityreturns CORS headers/hero_proc_ui/rpcreturns CORS headersImplementation
hero_services/tests/smoke.shmake smoke(requires running container on port 9090)make smoke-dockerthat starts container, waits, runs smoke, stopsWorkflow
make dist && make pack— build imagemake smoke-docker— start container, wait, run all smoke tests, reportRelated issues
Done
Created comprehensive smoke test harness at
hero_services/tests/smoke.shwith Makefile targets.Test coverage (57 tests, 10 categories)
Makefile targets
make smoke— run against localhost:9090 (or GATEWAY_URL)make smoke-remote— run against herodev2make smoke-demo— run against herodemo2make smoke-docker— start container, wait 90s, run smoke, cleanupFinal result
55 passed, 0 failed, 2 skipped (timing-dependent: books cloning, device seeding)
Commit: hero_services 82cca10
Signed-off-by: mik-tf