a pds written in elixir tempest.desertthunder.dev
tempest test smoke
1 folder · 22 files

deployed
account-management-admin.hurl
account-management.hurl
accounts.hurl
blobs.hurl
car-sync.hurl
deployment.hurl
doc-viewer.hurl
firehose.hurl
health.hurl
identity-correctness.hurl
identity.hurl
lexicon-schemas.hurl
local-pds-compat.sh
migration-lifecycle.hurl
oauth-security.hurl
operator-account-ux.hurl
public-stats.hurl
README.md
records.hurl
tempest_basic.hurl
tempest_compat.hurl
xrpc.hurl
README.md

Smoke Tests #

Canonical smoke-test documentation lives in Interop & Integration Testing.

Local PDS compatibility profile:

mix phx.server

test/smoke/local-pds-compat.sh http://localhost:4000

Quick local run:

mix phx.server

suffix="$(date +%s)"
hurl --test --jobs 1 \
  --variable base_url=http://localhost:4000 \
  --variable suffix="${suffix}" \
  --variable account_handle="smoke-${suffix}.test" \
  --variable account_email="smoke-${suffix}@example.com" \
  --variable account_password="correct horse battery staple" \
  test/smoke/health.hurl \
  test/smoke/public-stats.hurl \
  test/smoke/xrpc.hurl \
  test/smoke/accounts.hurl \
  test/smoke/identity.hurl \
  test/smoke/records.hurl \
  test/smoke/car-sync.hurl \
  test/smoke/firehose.hurl \
  test/smoke/blobs.hurl \
  test/smoke/lexicon-schemas.hurl \
  test/smoke/migration-lifecycle.hurl \
  test/smoke/oauth-security.hurl \
  test/smoke/operator-account-ux.hurl \
  test/smoke/tempest_basic.hurl \
  test/smoke/tempest_compat.hurl

Use fresh account variables for every run. Some files create accounts with the same variables, so run those files separately if the shared handle already exists.

test/smoke/deployment.hurl is deployed-only. Run it against the final HTTPS hostname with an admin token:

hurl --test --jobs 1 \
  --variable base_url=https://tempest.example.com \
  --variable admin_token="$ADMIN_TOKEN" \
  test/smoke/deployment.hurl