Files
ss-tools/specs/037-superset-baseline-engine/quickstart.md

1.6 KiB

Quickstart: Superset Baseline Engine

Prerequisite

Complete 036 through approval consume tests. Use checked-in fixtures first; Docker is required only for Superset 4.1.2 integration.

Test Order

cd backend
python -m pytest tests/services/dashboard_testing -v
python -m pytest tests/api/test_dashboard_testing.py -v
python -m pytest tests/integration/test_dashboard_testing_superset.py --run-integration -v

Independent Smoke

  1. Inspect a fixture dashboard and snapshot the deterministic DashboardQueryModel.
  2. Normalize the same date/decimal/list filters in two locale representations; hashes must match.
  3. Execute a saved scalar chart via POST /api/v1/chart/data and verify source ids/hash.
  4. Execute a table chart with row limit and canonical columns/rows.
  5. Attempt requests containing sql, raw query_context, adhoc expression, and endpoint; all must fail before Superset call.
  6. Compare exact, absolute, relative, range, and row-set fixtures.
  7. Change query/dataset/filter fingerprints independently; each must return stale_baseline.
  8. Create a draft candidate and verify approved catalog is unchanged.
  9. Approve through a 036 gate with reason; verify one atomic YAML update.
  10. Replay or mutate the request; verify 409 and no second write.

Exit Gates

  • Deterministic fixture snapshots.
  • Decimal/date/percent equivalence without false diffs.
  • 403/404/422/timeout/5xx taxonomy preserved.
  • No direct SQL request surface or agent tool reachability.
  • Baseline schema validates and catalog writer is deterministic.
  • Unit/API/integration, ruff, and semantic audits pass.