Smoke Test Generator
/install smoke-test-generator
Smoke Test Generator
A structured pattern for API smoke testing with categorised test suites and summary reporting. Adapted from a production test suite that verified 34 endpoints across auth, CRUD, cached audio, story generation, ElevenLabs, and Mistral agent APIs.
Test Categories
| Category | What It Tests | Fail = |
|---|---|---|
| Auth | Login, token validation, protected routes | Nothing else works |
| CRUD | Create, read, update, delete operations | Data layer broken |
| Cached | Pre-cached content serves correctly | Demo will fail |
| Live | Real API calls complete successfully | External dependency down |
| Integration | End-to-end workflows across services | Pipeline broken |
Pattern
import httpx
import asyncio
BASE_URL = "http://localhost:8000"
results = {"pass": 0, "fail": 0, "skip": 0}
async def test(name: str, category: str, fn):
try:
await fn()
results["pass"] += 1
print(f" ✅ [{category}] {name}")
except Exception as e:
results["fail"] += 1
print(f" ❌ [{category}] {name}: {e}")
async def run_smoke_tests():
async with httpx.AsyncClient(base_url=BASE_URL, timeout=30) as client:
# Auth
await test("Login with valid creds", "auth",
lambda: assert_status(client.post("/login", json={"email": "[email protected]", "password": "test"}), 200))
# CRUD
await test("Create item", "crud",
lambda: assert_status(client.post("/api/items", json={"name": "test"}), 201))
# Cached
await test("Cached content returns 200", "cached",
lambda: assert_status(client.get("/api/cached/1"), 200))
# Integration
await test("Full pipeline completes", "integration",
lambda: assert_status(client.post("/api/pipeline", json={...}), 200))
total = results["pass"] + results["fail"]
print(f"\
{'='*40}")
print(f"Results: {results['pass']}/{total} passed")
if results["fail"] > 0:
print(f"⚠️ {results['fail']} failures — do not demo!")
Files
scripts/smoke_test.py— Example smoke test suite with all categories
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install smoke-test-generator - After installation, invoke the skill by name or use
/smoke-test-generator - Provide required inputs per the skill's parameter spec and get structured output
What is Smoke Test Generator?
Generate comprehensive API smoke test suites — categorised tests for auth, CRUD, integrations, cached vs live endpoints, with summary reporting. Use when val... It is an AI Agent Skill for Claude Code / OpenClaw, with 364 downloads so far.
How do I install Smoke Test Generator?
Run "/install smoke-test-generator" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Smoke Test Generator free?
Yes, Smoke Test Generator is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Smoke Test Generator support?
Smoke Test Generator is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Smoke Test Generator?
It is built and maintained by Nissan Dookeran (@nissan); the current version is v1.0.0.