1.6 KiB
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
- Inspect a fixture dashboard and snapshot the deterministic DashboardQueryModel.
- Normalize the same date/decimal/list filters in two locale representations; hashes must match.
- Execute a saved scalar chart via POST /api/v1/chart/data and verify source ids/hash.
- Execute a table chart with row limit and canonical columns/rows.
- Attempt requests containing sql, raw query_context, adhoc expression, and endpoint; all must fail before Superset call.
- Compare exact, absolute, relative, range, and row-set fixtures.
- Change query/dataset/filter fingerprints independently; each must return stale_baseline.
- Create a draft candidate and verify approved catalog is unchanged.
- Approve through a 036 gate with reason; verify one atomic YAML update.
- 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.