-
Notifications
You must be signed in to change notification settings - Fork 84
feat: Pytest markers for tap built-in tests #3176
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
base: main
Are you sure you want to change the base?
Conversation
Reviewer's GuideThis PR introduces pytest markers for auto-generated Singer SDK tests by enhancing the pytest plugin logic, updating documentation and project templates, refining test factory typing, annotating runner overrides, and adjusting CI/workflow configurations. Class diagram for updated BaseTestClass and pytest_generate_testsclassDiagram
class BaseTestClass {
params: dict[str, list[dict[str, Any]]]
param_ids: dict[str, list[str]]
}
class pytest_generate_tests {
+pytest_generate_tests(metafunc: pytest.Metafunc) -> None
}
pytest_generate_tests ..> BaseTestClass : uses
Flow diagram for pytest marker assignment in auto-generated testsflowchart TD
A[pytest_generate_tests called] --> B{Is metafunc.cls subclass of BaseTestClass?}
B -- No --> Z[Do nothing]
B -- Yes --> C[Get test function name]
C --> D{Name contains 'tap_stream_'?}
D -- Yes and not 'attribute' --> E[Assign singer_stream marker]
D -- No --> F{Name contains 'tap_stream_attribute_'?}
F -- Yes --> G[Assign singer_stream_attribute marker]
F -- No --> H[No marker assigned]
E & G & H --> I[pytest.param created with appropriate marks]
I --> J[metafunc.parametrize called]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Documentation build overview
Files changed
Show files (1) | 1 modified | 0 added | 0 deleted
|
Codecov ReportAttention: Patch coverage is
❌ Your patch check has failed because the patch coverage (94.11%) is below the target coverage (100.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #3176 +/- ##
==========================================
- Coverage 92.46% 92.46% -0.01%
==========================================
Files 63 63
Lines 5363 5375 +12
Branches 674 677 +3
==========================================
+ Hits 4959 4970 +11
Misses 285 285
- Partials 119 120 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
CodSpeed Performance ReportMerging #3176 will not alter performanceComparing Summary
|
cb7a5bc to
237dbf0
Compare
Summary by Sourcery
Introduce pytest markers for Singer SDK built-in tests, enabling granular test selection and updating documentation, project templates, and CI workflows to support the new markers.
New Features:
Enhancements:
Build:
CI:
Documentation: