Joe Li
e6fa96878e
test(reports): add database validation edge case tests
...
- No-mutation-on-422: verify rejected PUT does not change model state
- POST parity guard: confirm POST with Report+database still returns 400
- Bad DB on transition: Report→Alert with nonexistent DB returns 422
- Command-level unit matrix: 12 tests covering all effective type/database
combinations (payload absent vs None vs int, model DB present/absent,
type transitions in both directions)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 18:05:54 -08:00
Joe Li
c78624b20e
fix(reports): validate database field on PUT report schedule
...
PUT /api/v1/report/{id} with {"database": N} on a Report-type schedule
returned 500 instead of a validation error. The POST schema had this
check but the PUT path lacked it.
- Add ReportScheduleDatabaseNotAllowedValidationError exception
- Add command-level validation in UpdateReportScheduleCommand enforcing
both invariants: Reports must not have a database, Alerts must have one
- Add allow_none=True on ReportSchedulePutSchema.database to allow
clearing via PUT (consistent with dashboard field)
- Use explicit null check (database_id is not None) for DB existence
validation to handle edge cases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-18 17:27:16 -08:00
Michael S. Molina
e3e2bece6b
feat(owners): display email in owner selectors ( #37906 )
2026-02-13 09:01:05 -03:00
Gabriel Torres Ruiz
5edaed2e5b
fix(alerts): wrong alert trigger with custom query ( #35871 )
2026-01-07 18:06:18 +01:00
Elizabeth Thompson
c42e3c6837
fix(reports): improve error handling for report schedule execution ( #35800 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-11-07 17:57:43 -08:00
Elizabeth Thompson
61c68f7b8f
fix(reports): Add celery task execution ID to email notification logs ( #35807 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-28 15:31:41 -07:00
Elizabeth Thompson
1b6d57c3f3
test(tasks): Add tests for log_task_failure signal handler ( #35721 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-20 09:23:18 -07:00
Hugh A. Miles II
966e231f94
feat: Add Dashboard Filter Support for Alert Reports ( #32196 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
Co-authored-by: Hugh A Miles II <hugh@Mac.home >
2025-09-16 10:52:28 -04:00
Maxime Beauchemin
cb27d5fe8d
chore: proper current_app.config proxy usage ( #34345 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-07-31 19:27:42 -07:00
Maxime Beauchemin
c42be77c25
feat(i18n): load language pack asynchronously ( #34119 )
2025-07-14 10:59:29 -07:00
Pat Buxton
2d26af25c1
feat: Python 3.12 support ( #33434 )
2025-06-02 10:00:37 -07:00
Vitor Avila
d2e0e2b79c
fix(Slack): Fix Slack recipients migration to V2 ( #32336 )
2025-03-06 08:52:15 -03:00
Evan Rusackas
90651dfe3e
fix(dev/ci): pre-commit fixes galore ( #32352 )
2025-02-24 11:26:45 -07:00
Ville Brofeldt
7482b20f7b
chore: replace selenium user with fixed user ( #31844 )
2025-01-22 12:46:06 -08:00
Vitor Avila
754ccd0448
feat: Mutate SQL query executed by alerts ( #31840 )
2025-01-15 00:43:40 -03:00
Maxime Beauchemin
e51b95ffa8
chore: enforce more ruff rules ( #31447 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
2024-12-18 17:41:34 -08:00
Beto Dealmeida
d6a82f7852
feat: fine-grain chart data telemetry ( #31273 )
2024-12-10 13:09:39 -05:00
Steven Liu
29e3f4bcc4
feat: allow exporting all tabs to a single PDF in report ( #30694 )
2024-11-03 17:39:09 -08:00
Elizabeth Thompson
4d5f70c694
chore: add link to Superset when report error ( #30576 )
2024-10-21 15:40:20 -07:00
Maxime Beauchemin
a849c29288
chore: enable lint PT009 'use regular assert over self.assert.*' ( #30521 )
2024-10-07 13:17:27 -07:00
Jack
2fda221b7c
feat(alert/reports): adding logic to handle downstream reports when tab is deleted from dashboard ( #29333 )
2024-08-23 15:26:26 -05:00
Elizabeth Thompson
57e8cd2ba2
fix: pass slack recipients correctly ( #29721 )
2024-08-02 10:42:40 -07:00
Jack
d21d7591c0
feat(alerts): enable tab selection for dashboard alerts/reports ( #29096 )
2024-07-30 16:25:19 -06:00
nsivarajan
27dde2a811
feat(alert/report): Added optional CC and BCC fields for email notifi… ( #29088 )
...
Co-authored-by: Sivarajan Narayanan <sivarajannarayanan@Sivarajans-MacBook-Pro.local >
Co-authored-by: Sivarajan Narayanan <narayanan_sivarajan@apple.com >
2024-07-22 19:33:47 +02:00
Elizabeth Thompson
6dbfe2aab9
feat: add slackv2 notification ( #29264 )
2024-07-17 15:14:32 -07:00
John Bodley
f9f70e3e55
chore(tests): Fix MySQL logic ( #29356 )
2024-06-25 10:20:04 -07:00
Beto Dealmeida
8e15d4807f
chore: s/MockFixture/MockerFixture/g ( #29160 )
2024-06-10 12:35:07 -04:00
Elizabeth Thompson
725375541d
fix: use channel id with new slack api for file uploads ( #28797 )
2024-06-04 15:18:29 -07:00
Elizabeth Thompson
a608bdb8d4
fix: use upload v2 for slack ( #28783 )
2024-05-30 14:10:05 -07:00
Eyal Ezer
07b2449bd7
refactor: Unify all json.(loads|dumps) usage to utils.json ( #28702 )
...
Co-authored-by: Eyal Ezer <eyal.ezer@ge.com >
2024-05-28 14:17:41 -07:00
Vitor Avila
1bf04015c6
feat(reports): Set a minimum interval for each report's execution ( #28176 )
2024-05-07 18:28:12 -07:00
Maxime Beauchemin
3ac387bb66
chore: enable ruff's isort equivalent ( #28267 )
2024-04-30 18:29:49 -07:00
Maxime Beauchemin
2d63722150
chore: set up ruff as a new linter/formatter ( #28158 )
2024-04-24 17:19:53 -07:00
John Bodley
bc65c245fe
chore(tests): Remove unnecessary/problematic app contexts ( #28159 )
2024-04-24 13:46:35 -07:00
Maxime Beauchemin
e9c0ca545f
feat: Slack Avatar integration ( #27849 )
2024-04-16 08:40:27 -07:00
Maxime Beauchemin
c225e17a75
chore: consolidate the Superset python package metadata ( #27884 )
2024-04-15 14:44:47 -07:00
Beto Dealmeida
99a1601aea
refactor: rename get_sqla_engine_with_context ( #28012 )
2024-04-12 13:31:05 -04:00
John Bodley
481a63da55
chore(tests): Remove ineffectual login ( #27149 )
2024-04-09 09:52:02 -07:00
Jack
30b497e758
feat(alerts-reports): adding pdf filetype to email and slack reports ( #27497 )
2024-03-22 17:54:30 +01:00
Vitor Avila
66bf70172f
fix(API): Updating assets via the API should preserve ownership configuration ( #27364 )
2024-03-06 16:40:41 +00:00
John Bodley
07bcfa9b5f
chore(command): Organize Commands according to SIP-92 ( #25850 )
2023-11-22 16:55:54 -03:00
John Bodley
dd58b31cc4
chore(sqlalchemy): Remove erroneous SQLAlchemy ORM session.merge operations ( #24776 )
2023-11-20 17:25:41 -08:00
Sebastian Liebscher
e585db85b6
chore: use contextlib.surpress instead of passing on error ( #24896 )
...
Co-authored-by: John Bodley <4567245+john-bodley@users.noreply.github.com >
2023-08-29 10:09:01 -06:00
John Bodley
e402c94a9f
fix: Use Celery task ETA for alert/report schedule ( #24537 )
2023-06-28 10:53:13 -07:00
Daniel Vaz Gaspar
0ddc0a6738
chore: remove marshmallow-enum dependency and bump FAB ( #24499 )
2023-06-27 08:37:43 +01:00
John Bodley
3e76736874
chore(dao): Organize DAOs according to SIP-92 ( #24331 )
...
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com >
2023-06-18 18:32:32 -07:00
John Bodley
a4d5d7c6b9
chore(pre-commit): Add pyupgrade and pycln hooks ( #24197 )
2023-06-01 12:01:10 -07:00
Ville Brofeldt
7114bba718
chore(thumbnails): change default executor to logged in user ( #22801 )
2023-05-17 20:32:20 +03:00
Daniel Vaz Gaspar
97482c57b5
chore: bump werkzeug and Flask ( #23965 )
2023-05-12 15:01:30 +01:00
EugeneTorap
4a828f57f4
chore: Update mypy and fix stubs issue ( #24033 )
2023-05-12 08:47:14 +01:00