-
Notifications
You must be signed in to change notification settings - Fork 14k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(tests): Remove unnecessary explicit Flask-SQLAlchemy session expunges #27136
chore(tests): Remove unnecessary explicit Flask-SQLAlchemy session expunges #27136
Conversation
def get_slice(self, slice_name: str, expunge_from_session: bool = True) -> Slice: | ||
slc = db.session.query(Slice).filter_by(slice_name=slice_name).one() | ||
if expunge_from_session: | ||
db.session.expunge_all() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems weird that we were expunging all objects from the session and not just the chart in question.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #27136 +/- ##
==========================================
- Coverage 67.15% 67.15% -0.01%
==========================================
Files 1902 1902
Lines 74453 74453
Branches 8306 8306
==========================================
- Hits 49998 49997 -1
- Misses 22401 22402 +1
Partials 2054 2054
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…-to-the-embedded-dashboard * master: (1182 commits) fix(ci): mypy pre-commit issues (apache#27161) feat(Alerts and Reports): Modal redesign (apache#26202) refactor: Migrate ErrorBoundary to typescript (apache#27143) chore(tests): Remove unnecessary explicit Flask-SQLAlchemy session expunges (apache#27136) fix(plugins): Apply dashboard filters to comparison query in BigNumber with Time Comparison chart (apache#27138) fix: Duplicated toast messages (apache#27135) docs: add Geotab to users list (apache#27134) fix: Plain error message when visiting a dashboard via permalink without permissions (apache#27132) fix: ID param for DELETE ssh_tunnel endpoint (apache#27130) chore(hail mary): Update package-lock.json via npm-audit-fix (apache#26693) chore: lower cryptography min version to 41.0.2 (apache#27129) docs(miscellaneous): Export Datasoruces: export datasources exports to ZIP (apache#27120) fix(pivot-table-v2): Added forgotten translation pivot table v2 (apache#22840) fix: RLS modal overflow (apache#27128) refactor: Updates some database columns to MediumText (apache#27119) fix: gevent upgrade to 23.9.1 (apache#27112) fix: removes old deprecated sqllab endpoints (apache#27117) feat(storybook): Co-habitating/Upgrading Storybooks to v7 (dependency madness ensues) (apache#26907) fix: bump grpcio, urllib3 and paramiko (apache#27124) chore(internet_port): added new ports and removed unnecessary string class (apache#27078) ...
SUMMARY
There's a few instances within our tests where we explicitly expunge either specific or all objects from the session, however this is unnecessary as the Flask-SQLAlchemy session is torn down after each test (verified via logging) in which the current session is removed/closed and thus there's no need to explicitly expunge the records.
Note this change is a precursor to defining a "unit of work" as part of SIP-99B. I've been struggling to get the various unit/integration tests to pass in my PoC—in part due to atypical testing patterns.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
TESTING INSTRUCTIONS
CI.
ADDITIONAL INFORMATION