with one click
with one click
| name | smoke-test |
| description | Smoke test a deployed go-fastapi instance |
| argument-hint | ["instance-url"] |
| disable-model-invocation | true |
You are testing a deployed go-fastapi instance to verify it is responding correctly.
If an argument $1 was provided, use it as the base URL. Otherwise, ask the user for the instance URL (e.g. https://go-api-production-2026-03-12.geneontology.org).
Strip any trailing slash from the URL.
Use curl to test each endpoint. For each one, check:
Run ALL of these checks and collect the results before reporting:
curl -s -o /dev/null -w '%{http_code}' {URL}/docs
Expected: 200
curl -s -o /dev/null -w '%{http_code}' '{URL}/api/identifier/prefixes'
Expected: 200
Also check the response contains prefix data:
curl -s '{URL}/api/identifier/prefixes' | python3 -c "import sys,json; d=json.load(sys.stdin); print(len(d))"
Expected: a positive number (the count of prefixes)
curl -s -o /dev/null -w '%{http_code}' '{URL}/api/go/GO:0008150'
Expected: 200
Also verify the response contains the expected label:
curl -s '{URL}/api/go/GO:0008150' | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('label','MISSING'))"
Expected: "biological_process"
curl -s -o /dev/null -w '%{http_code}' '{URL}/api/search/entity/autocomplete/biological'
Expected: 200
curl -s -o /dev/null -w '%{http_code}' '{URL}/api/identifier/prefixes/expand/GO:0008150'
Expected: 200
Present results as a table:
| Endpoint | Status | Result |
|---|---|---|
| /docs | {code} | PASS/FAIL |
| /api/identifier/prefixes | {code} | PASS/FAIL |
| /api/go/GO:0008150 | {code} | PASS/FAIL |
| /api/search/entity/autocomplete/biological | {code} | PASS/FAIL |
| /api/identifier/prefixes/expand/GO:0008150 | {code} | PASS/FAIL |
End with a summary: X/5 passed.
If any endpoint fails, suggest debugging steps:
curl -s -o /dev/null -w '%{http_code}' {URL}ssh -i /tmp/go-ssh ubuntu@{hostname} then docker inspect --format "{{json .State.Health }}" fastapidocker-compose -f /home/ubuntu/stage_dir/docker-compose.yaml logs -f