Skip to main content

Smoke Tests

Automated Smoke Workflow

GitHub Actions runs SABLE Smoke on a weekday schedule and by manual dispatch. It requires these repository secrets:

  • SUPABASE_ACCESS_TOKEN
  • SUPABASE_PROJECT_REF
  • SUPABASE_DB_URL — the percent-encoded Postgres connection string for the project

The smoke workflow checks the remote migration list, function inventory, and the live auth gates for asana-act and fathom-webhook.

Local Helper Tests

node --test sable-agents-demo/supabase/tests/*.test.mjs sable-agents-demo/web/tests/*.test.mjs

Expected: all tests pass.

Migration State

cd sable-agents-demo/supabase
supabase migration list

Expected: every local migration through the latest migrations/*.sql file is applied remotely.

Function Inventory

supabase functions list

Expected active functions include:

  • fathom-sync
  • fathom-webhook
  • asana-sync
  • asana-act
  • calendar-act
  • toggl-sync
  • drive-sync
  • hubspot-sync
  • calendar-sync

Auth Gate Check

Protected functions should reject anonymous requests:

curl -s -i -X POST https://fvngkfrmienkltuwtoxa.supabase.co/functions/v1/asana-act \
-H 'content-type: application/json' \
--data '{"approvalId":"00000000-0000-0000-0000-000000000000"}'

Expected: 401 from Supabase gateway for missing auth.

Fathom Webhook Gate Check

Unsigned requests should be rejected now that FATHOM_WEBHOOK_SECRET is set:

curl -s -i -X POST https://fvngkfrmienkltuwtoxa.supabase.co/functions/v1/fathom-webhook \
-H 'content-type: application/json' \
--data '{"recording_id":"smoke"}'

Expected: 401 with an invalid signature message.

Docs Build

cd sable-agents-demo/docs-site
npm run build

Expected: Docusaurus build succeeds with no broken links.