Skip to content

Live testing

SmartMoving CLI smoke tests are designed to keep CI safe and make manual release checks repeatable.

  • CI uses mocked tests only.
  • Do not run live tests by default.
  • Live smoke tests require SMARTMOVING_LIVE_TESTS=true.
  • Live smoke tests are read-only unless a maintainer creates a dedicated sandbox workflow.
  • smartmoving smoke write is a dry-run command and does not call SmartMoving.
  • API keys must stay in environment variables and must not be pasted into issue comments, PR comments, test logs, or docs.

From mcp-server/:

Terminal window
npm run build
npm test
npm pack --dry-run

These commands must pass without a real SMARTMOVING_API_KEY.

Use only an authorized API key:

Terminal window
cd mcp-server
npm run build
SMARTMOVING_API_KEY="replace-with-your-key" node dist/cli.js smoke read --json

Expected shape:

{
"ok": true,
"mode": "read",
"live": false,
"checks": [{ "name": "ping", "ok": true }]
}

This prints a synthetic lead-create request and does not make an HTTP request:

Terminal window
SMARTMOVING_API_KEY="replace-with-your-key" node dist/cli.js smoke write --dry-run --json

Expected shape:

{
"ok": true,
"mode": "write",
"live": false,
"dryRun": true,
"request": {
"method": "POST",
"path": "/api/premium/leads"
}
}

Live smoke requires an explicit environment flag and is read-only:

Terminal window
SMARTMOVING_LIVE_TESTS=true \
SMARTMOVING_API_KEY="replace-with-your-key" \
node dist/cli.js smoke live --read-only --json

Without SMARTMOVING_LIVE_TESTS=true, the command returns a stable LIVE_TESTS_DISABLED failure.

  • Do not run live smoke tests in GitHub Actions.
  • Do not run live write or destructive smoke tests against a production SmartMoving account.
  • Do not publish, tag, merge, or change repo visibility as part of smoke testing.
  • Do not include real customer names, quote numbers, phone numbers, emails, addresses, or API responses in reports.