feat: Pytest markers for tap built-in tests#3176
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 Report❌ 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: