df-test-framework 4.7.0__tar.gz → 4.7.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/CHANGELOG.md +6 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/PKG-INFO +1 -1
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/README.md +15 -2
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/bootstrap_guide.md +63 -3
- df_test_framework-4.7.1/docs/releases/v4.7.1.md +38 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/pyproject.toml +1 -1
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/__init__.py +1 -1
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/pyproject_toml.py +3 -3
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/allure.py +44 -89
- df_test_framework-4.7.1/tests/testing/fixtures/test_allure_fixture.py +155 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/uv.lock +1 -1
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.editorconfig +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.env.example +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.gitattributes +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.github/workflows/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.github/workflows/lint.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.github/workflows/release.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.github/workflows/scheduled.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.github/workflows/security.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.github/workflows/test.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.gitignore +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.gitleaks.toml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.gitleaksignore +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.pre-commit-config.yaml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/.python-version +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/AGENTS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/CLAUDE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/CONTRIBUTING.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/README_PYPI.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/CONTRIBUTOR_GUIDE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/DOC_REORGANIZATION_PLAN_v4.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/ESSENTIAL_DOCS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/FAQ.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/LEARNING_PATH.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/clients.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/core/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/core/context.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/core/events.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/core/exceptions.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/core/middleware.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/core/protocols.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/core/types.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/core.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/databases.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/drivers.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/extensions.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/infrastructure.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/patterns.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/api-reference/testing.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/ARCHITECTURE_V4.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/CODE_STRUCTURE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/PLUGIN_SYSTEM_V3.37.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/TEST_EXECUTION_LIFECYCLE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/REFACTORING_PLAN_V3.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/REFACTORING_PLAN_V3_REVISED.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/DI_STRATEGY.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/PREPARE_DATA_DESIGN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/TESTING_MODULE_OPTIMIZATION.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/UOW_CLEANUP_ARCHITECTURE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/UOW_REFACTORING_PROPOSAL.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/allure_integration_modes.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/capability_plan_vs_current.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/config-driven-design.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/config-management-analysis.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/eventbus-integration-analysis.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/failure-diagnosis-v2-design.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/future_allure_plugin_plans.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/http-vs-web-comparison.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/observability-debugging-unification.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/provider-pattern-deep-dive.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/tech-debt-cleanup-plan.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/ui-failure-diagnosis-implementation-v3.46.3.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/ui-observability-design.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/discussion_1_initial_issues.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/v3_complete_draft.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/v3_final_draft.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/FRAMEWORK_ARCHITECTURE_v3.6.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/OVERVIEW_V3.17.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/V3.14_ENTERPRISE_PLATFORM_DESIGN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/V3.16_LAYER4_BOOTSTRAP_ARCHITECTURE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/V3.17_EVENT_SYSTEM_REDESIGN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/V3_ARCHITECTURE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/V3_IMPLEMENTATION.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/overview.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/versions/v2-architecture.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/extension-points.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/failure-diagnosis-hook-example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/multi-project-reuse.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/observability-architecture.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/test-type-support.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture//344/272/224/345/261/202/346/236/266/346/236/204/350/257/246/350/247/243.md" +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/ACTION_PLAN_v2.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/AUDIT_VERIFICATION_REPORT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/AUTH_PLACEMENT_ANALYSIS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/CODE_REVIEW_f95e08cd.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/COMPREHENSIVE_FEATURE_AUDIT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/FRAMEWORK_OPTIMIZATION_ANALYSIS_2025.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/PHASE2_COMPARISON_ANALYSIS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/PHASE2_COMPLETION_REPORT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/PHASE2_SUMMARY.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis/V3_REFACTORING_COMPLETE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis_2025/ALLURE_HTTP_LOGGING_ISSUE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis_2025/ALLURE_INTEGRATION_CHECK_REPORT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis_2025/ALLURE_INTEGRATION_DESIGN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis_2025/ALLURE_INTEGRATION_SUMMARY.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis_2025/ALLURE_ROOT_CAUSE_ANALYSIS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis_2025/CODE_ANALYSIS_AND_PROGRESS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis_2025/COMPREHENSIVE_FRAMEWORK_EVALUATION.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/analysis_2025/CONFIG_MODERNIZATION_ANALYSIS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/ARCHITECTURE_AUDIT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/FUTURE_ENHANCEMENTS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/IMPLEMENTATION_SUMMARY.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/MIDDLEWARE_V3.14_DESIGN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/ROADMAP_V3.29_ENHANCEMENTS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/SIGNATURE_FRAMEWORK_CAPABILITIES.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/TEMPLATE_DEBUG_FIXTURES_ISSUE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/observability-config-design.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/ui-best-practices-2026.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/web-architecture-consistency-design.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/design/web-event-driven-comparison.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/evaluations_2025/DUAL_AI_ANALYSIS_COMPARISON.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/evaluations_2025/FRAMEWORK_ASSESSMENT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/evaluations_2025/FRAMEWORK_BEST_PRACTICES_UPDATE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/evaluations_2025/FRAMEWORK_CAPABILITIES.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/evaluations_2025/FRAMEWORK_IMPROVEMENT_PROPOSALS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/guides/async_database_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/guides/async_http_client.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/guides/httpx_advanced_usage.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/guides/logging_configuration.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/guides/logging_pytest_integration.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/guides/modern_logging_best_practices.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/guides/repository_uow_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/111.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/CONFIG_AND_INTERCEPTOR_INTEGRATION.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/DIRECTORY_STRUCTURE_REFACTORING.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/INTERCEPTOR_ARCHITECTURE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/INTERCEPTOR_ARCHITECTURE_VERIFICATION.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/INTERCEPTOR_CONFIG_BEST_PRACTICES.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/INTERCEPTOR_IDEAL_DESIGN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/INTERCEPTOR_IDEAL_VS_ACTUAL.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/INTERCEPTOR_LOCATION_DECISION.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/INTERCEPTOR_NAMING_STANDARDS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/INTERCEPTOR_PERFORMANCE_ANALYSIS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/REFACTORING_IMPLEMENTATION_PLAN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/interceptor_refactoring/REFACTORING_PROGRESS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/issues/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/issues/summary.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/issues/v1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/migration/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/migration/v3.15-to-v3.16.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/plans/CAPABILITY_LAYER_OPTIMIZATION.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/plans/REFACTORING_PLAN_v2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/plans/REFACTORING_TASKS_v2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/plans/RFC_MULTIPART_FORM_DATA_SUPPORT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/plans/RFC_MULTIPART_IMPLEMENTATION_CODE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/plans/UV_SYNC_MIGRATION_SUMMARY.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/plans/UV_SYNC_QUICK_START.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/plans/v2-migration-plan-draft.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/CHANGELOG_AUDIT_REPORT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/CODE_QUALITY_FIXES_2025-11-09.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/CORE_DOCS_UPDATE_PLAN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/DOCUMENTATION_AUDIT_REPORT_2025-12-05.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/DOCUMENTATION_CLEANUP_SUMMARY.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/DOCUMENTATION_INDEX.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/DOCUMENTATION_MAINTENANCE_COMPLETE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/DOCUMENTATION_UPDATE_CHECKLIST.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/DOC_UPDATE_SUMMARY.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/IMPROVEMENTS_2025-01-09.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/PHASE3_COMPLETION_REPORT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/PYTHON_VERSION_UNIFICATION.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/REFACTORING_COMPLETION_CHECK.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/TEST_CODE_GENERATION_ANALYSIS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/V3.3.0_DOCUMENTATION_UPDATE_SUMMARY.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/V3.3.0_MIGRATION_CHECKLIST.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/V3.5_ALLURE_INTEGRATION_PLAN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/V3.5_DOCUMENTATION_COMPLETE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/V3.5_OBSERVABILITY_FINAL_STATUS.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/V3.5_PHASE2_ACCEPTANCE_REPORT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/V3.5_REFACTOR_PLAN.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/V3.5_REFACTOR_PLAN_REVISED.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/VERIFIED_BEST_PRACTICES_INTEGRATION_COMPLETE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/reports_2025/async_http_client_design.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/user-guide/PHASE3_FEATURES.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/user-guide/extensions.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/user-guide/ui-testing.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/BaseAPI/346/234/200/344/275/263/345/256/236/350/267/265/346/214/207/345/215/227.md" +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/FRAMEWORK_DESIGN_PRINCIPLES.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/UPGRADE_SUMMARY_v1.3.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/architecture.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/best-practices.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/config-integration-guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/optimization-report.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1/publishing.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/v1//344/270/272/344/273/200/344/271/210/351/200/211/346/213/251/346/265/213/350/257/225/346/241/206/346/236/266.md" +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/versions/QUICK_START_V3.14.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/archive/versions/QUICK_START_V3.5.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/ci-templates/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/ci-templates/github-actions.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/ci-templates/gitlab-ci.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/development/DOCUMENTATION_MAINTENANCE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/development/FRAMEWORK_DEPENDENCY_MANAGEMENT.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/development/RELEASE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/development/VERSION_CONTROL_RULES.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/development/local-development.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/DECIMAL_GUIDE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/allure_plugin.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/assertions_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/async_api_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/auth_session_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/config_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/database_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/decorators_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/distributed_tracing.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/event_bus_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/extensions.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/factory_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/fixture_chain_pattern.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/fixtures_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/graphql_client.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/grpc_client.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/helpers_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/http_client_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/integration-guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/local_debug_quickstart.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/logging_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/message_queue.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/middleware_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/mocking.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/monitoring_plugin.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/openapi_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/plugins_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/prometheus_metrics.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/redis_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/resilience_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/sanitize_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/scaffold_cli_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/service_client_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/storage.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/telemetry_guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/test_data.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/test_data_cleanup.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/test_data_pipeline_design.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/testing-development.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/guides/web-ui-testing.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/migration/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/migration/v3-to-v4.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.0.0-alpha.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.1.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.10.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.11.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.11.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.12.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.12.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.13.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.14.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.14.0_completion_report.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.14.0_implementation_complete.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.16.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.17.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.17.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.17.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.18.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.18.1-bugfix.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.18.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.19.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.2.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.20.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.21.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.22.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.22.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.23.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.24.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.25.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.26.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.27.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.28.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.28.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.29.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.3.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.30.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.31.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.32.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.33.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.34.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.34.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.35.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.35.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.35.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.35.3.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.35.4.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.35.5.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.35.6.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.35.7.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.36.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.36.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.37.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.38.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.38.10.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.38.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.38.4.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.38.5.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.38.7.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.38.8.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.38.9.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.39.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.39.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.4.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.40.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.41.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.41.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.42.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.43.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.44.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.45.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.46.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.46.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.46.3.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.5.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.6.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.6.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.6.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.7.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.8.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v3.9.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.0.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.0.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.0.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.0.3.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.0.4.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.1.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.1.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.1.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.2.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.2.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.2.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.3.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.3.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.4.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.4.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.4.2.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.4.3.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.4.4.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.5.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.6.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.6.1.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/releases/v4.7.0.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/skills/write-code.zip +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/skills/write-test.zip +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/troubleshooting/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/troubleshooting/common-errors.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/troubleshooting/debugging-guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/BEST_PRACTICES.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/QUICK_REFERENCE.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/QUICK_START.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/USER_MANUAL.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/VERIFIED_BEST_PRACTICES.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/ci-cd.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/code-generation.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/configuration.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/cross-project-sharing.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/debugging.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/examples.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/multi-repo.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/nested-settings-guide.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/user-guide/security-best-practices.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/01-basic/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/01-basic/database_operations.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/01-basic/http_client_usage.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/01-basic/redis_cache.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/01-basic/storage_usage.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/02-bootstrap/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/02-bootstrap/custom_providers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/02-bootstrap/custom_settings.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/02-bootstrap/minimal_bootstrap.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/02-bootstrap/with_extensions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/03-testing/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/03-testing/conftest.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/03-testing/test_api.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/03-testing/test_database.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/03-testing/test_with_fixtures.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/04-patterns/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/04-patterns/builder_pattern.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/04-patterns/combined_patterns.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/04-patterns/repository_pattern.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/05-extensions/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/05-extensions/allure_enhancement_extension.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/05-extensions/custom_extension.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/05-extensions/data_factory_extension.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/05-extensions/environment_validator_extension.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/05-extensions/monitoring_extension.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/05-extensions/mq_monitor_extension.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/05-extensions/notification_extension.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/06-ui-testing/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/06-ui-testing/basic_ui_test.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/06-ui-testing/conftest.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/06-ui-testing/page_object_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/docker-compose-kafka.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/docker-compose-rabbitmq.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/docker-compose-rocketmq.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/kafka_basic.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/kafka_ssl.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/rabbitmq_basic.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/rabbitmq_topic.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/rocketmq-broker.conf +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-message-queue/rocketmq_basic.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-v35-features/01_configurable_interceptors.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-v35-features/02_profile_configuration.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-v35-features/03_runtime_overrides.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-v35-features/04_observability.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/07-v35-features/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/08-v37-features/01_unit_of_work_basics.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/08-v37-features/02_repository_v37.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/08-v37-features/03_auto_rollback_testing.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/08-v37-features/04_multi_repository_transactions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/08-v37-features/05_project_uow.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/08-v37-features/06_exception_handling_with_uow.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/08-v37-features/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/examples/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/scripts/fetch_swagger.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/scripts/security-scan.bat +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/scripts/security-scan.sh +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/bootstrap/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/bootstrap/bootstrap.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/bootstrap/providers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/bootstrap/runtime.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/middleware/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/middleware/base.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/middleware/event_publisher.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/middleware/logging.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/middleware/retry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/models.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/graphql/query_builder.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/middleware/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/middleware/base.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/middleware/event_publisher.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/middleware/logging.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/middleware/metadata.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/middleware/retry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/middleware/timing.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/grpc/models.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/core/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/core/request.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/core/response.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/middleware/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/middleware/auth.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/middleware/event_publisher.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/middleware/factory.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/middleware/logging.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/middleware/retry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/middleware/signature.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/middleware/telemetry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/rest/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/rest/factory.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/rest/httpx/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/rest/httpx/async_base_api.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/rest/httpx/async_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/rest/httpx/base_api.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/rest/httpx/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/clients/http/rest/protocols.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/async_database.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/database.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/factory.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/query_builder.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/redis/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/redis/async_redis.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/redis/redis_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/repositories/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/repositories/base.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/repositories/query_spec.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/databases/uow.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/app_actions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/async_app_actions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/factory.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/playwright/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/playwright/async_browser.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/playwright/async_browser_pool.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/playwright/async_page.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/playwright/browser.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/playwright/component.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/playwright/locator.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/playwright/page.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/drivers/web/protocols.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/engines/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/engines/batch/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/engines/batch/spark/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/engines/olap/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/engines/stream/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/engines/stream/flink/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/pubsub/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/kafka/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/kafka/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/kafka/config.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/config.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/rocketmq/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/rocketmq/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/messengers/queue/rocketmq/config.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/blob/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/file/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/file/local/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/file/local/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/file/local/config.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/object/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/object/oss/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/object/oss/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/object/oss/config.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/object/s3/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/object/s3/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/capabilities/storages/object/s3/config.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/__main__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/commands/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/commands/cicd.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/commands/env.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/commands/generate_cmd.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/commands/init_cmd.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/commands/interactive.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/generators/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/generators/json_to_model.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/generators/openapi_generator.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/generators/openapi_parser.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/main.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/.github/workflows/release.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/.github/workflows/scheduled.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/.github/workflows/test-full.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/.github/workflows/test.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/.gitlab-ci.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/Jenkinsfile +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/docker/.dockerignore +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/docker/Dockerfile +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/cicd/docker/docker-compose.yml +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/actions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/api_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/builder.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/env_files.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/graphql_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/redis_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/repository.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/settings_enhanced.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/test.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/test_complete.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/generators/test_graphql.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/async_example_api.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/async_ui_app_actions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/base_api.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/conftest.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/constants.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/data_cleaners.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/default_http_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/docs_api.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/editorconfig.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/enhanced_gitignore.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/env.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/fixture_chain_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/fixtures_init.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/full_conftest.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/full_settings.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/gitattributes.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/gitignore.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/models_requests_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/models_responses_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/readme.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/script_fetch_swagger.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/script_run_tests.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/settings.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/test_async_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/test_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/ui_app_actions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/ui_clients.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/ui_conftest.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/ui_fixtures_init.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/ui_page_object.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/ui_settings.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/ui_test_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/uow.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/user_api_example.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/utils_converters.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/utils_validators.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/templates/project/vscode_settings.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/cli/utils.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/context/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/context/execution.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/context/propagation.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/decorators.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/events/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/events/types.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/exceptions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/middleware/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/middleware/base.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/middleware/chain.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/middleware/decorator.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/middleware/protocol.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/models/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/models/base.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/protocols/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/protocols/client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/protocols/event.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/protocols/plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/protocols/repository.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/protocols/telemetry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/core/types.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/config/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/config/loader.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/config/middleware_schema.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/config/pipeline.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/config/schema.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/config/settings.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/config/sources.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/context/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/context/carriers/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/context/carriers/grpc.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/context/carriers/http.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/context/carriers/mq.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/events/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/events/bus.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/events/handlers/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/helpers/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/helpers/crypto.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/helpers/hash.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/helpers/network.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/helpers/signature.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/logging/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/logging/config.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/logging/interface.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/logging/logger.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/logging/observability.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/metrics/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/metrics/decorators.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/metrics/manager.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/metrics/observer.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/metrics/performance.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/metrics/registry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/metrics/types.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/plugins/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/plugins/hooks.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/plugins/manager.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/resilience/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/resilience/circuit_breaker.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/sanitize/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/sanitize/service.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/telemetry/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/telemetry/exporters/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/telemetry/facade.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/telemetry/noop.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/context.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/decorators.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/exporters.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/integrations/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/integrations/database.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/integrations/sqlalchemy_instrumentation.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/interceptors/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/interceptors/grpc.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/interceptors/http.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/infrastructure/tracing/manager.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/plugins/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/plugins/builtin/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/plugins/builtin/monitoring/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/plugins/builtin/monitoring/plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/plugins/builtin/reporting/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/plugins/builtin/reporting/allure_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/plugins/builtin/reporting/oms_reporter_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/assertions/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/assertions/helper.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/assertions/json_schema.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/assertions/matchers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/assertions/response.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/builders/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/builders/base.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/factories/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/factories/base.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/factories/examples.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/generators/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/generators/data_generator.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/loaders/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/loaders/base.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/loaders/csv_loader.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/loaders/json_loader.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/loaders/yaml_loader.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/pipeline/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/pipeline/_registry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/pipeline/context.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/pipeline/dataset.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/pipeline/loader.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/pipeline/reporter.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/data/pipeline/resolver.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/debugging/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/debugging/console.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/decorators/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/decorators/actions_class.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/decorators/api_class.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/decorators/service_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/decorators/ui_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/auth.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/cleanup.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/core.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/debugging.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/http_recorder.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/message_queue.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/metrics.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/monitoring.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/ui.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/mocking/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/mocking/database_mock.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/mocking/http_mock.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/mocking/redis_mock.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/mocking/time_mock.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/plugins/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/plugins/api_autodiscovery.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/plugins/data_pipeline.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/plugins/debug.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/plugins/env_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/plugins/logging_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/plugins/markers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/reporting/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/reporting/allure/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/reporting/allure/helper.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/reporting/allure/observer.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/README.md +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/bootstrap/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/bootstrap/test_bootstrap.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/bootstrap/test_providers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/bootstrap/test_runtime.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/graphql/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/graphql/test_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/graphql/test_middleware.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/graphql/test_models.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/graphql/test_query_builder.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/grpc/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/grpc/test_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/grpc/test_middleware.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/grpc/test_models.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/auth/signature/test_strategies.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/core/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/core/test_multipart.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/core/test_request.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/core/test_response.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/middleware/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/middleware/test_factory.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/middleware/test_logging.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/rest/test_async_base_api.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/rest/test_async_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/rest/test_auth_control.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/rest/test_base_api.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/rest/test_factory.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/clients/http/rest/test_http_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/databases/redis/test_async_redis.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/databases/redis/test_redis_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/databases/test_async_database.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/databases/test_database.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/databases/test_database_factory.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/databases/test_query_builder.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/databases/test_repositories.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/databases/test_uow.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/drivers/web/playwright/test_async_browser_pool.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/drivers/web/test_async_ui.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/drivers/web/test_modern_ui.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/messengers/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/messengers/test_kafka_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/messengers/test_rabbitmq_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/messengers/test_rocketmq_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/storages/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/storages/test_local_file.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/storages/test_oss.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/capabilities/storages/test_s3.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/cli/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/cli/test_env_cmd.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/cli/test_generate_cmd.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/cli/test_init_cmd.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/cli/test_interactive_cmd.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/cli/test_main.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/cli/test_utils.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/conftest.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/protocols/test_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/protocols/test_event.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/protocols/test_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/protocols/test_repository.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/protocols/test_telemetry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/test_context.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/test_decorators.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/test_event_types.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/test_events.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/test_middleware.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/core/test_types.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/config/test_loader.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/config/test_middleware_schema.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/context/test_carriers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/events/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/events/test_bus.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/metrics/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/metrics/test_decorators.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/metrics/test_manager.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/metrics/test_observer.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/metrics/test_performance.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/metrics/test_registry.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/metrics/test_types.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/plugins/test_manager.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/resilience/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/resilience/test_circuit_breaker.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/sanitize/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/sanitize/test_service.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/telemetry/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/telemetry/test_facade.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/telemetry/test_noop.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/test_bootstrap.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/test_helpers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/test_logging.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/test_pipeline.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/test_runtime.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/test_settings.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/test_sources.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/tracing/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/tracing/test_context.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/tracing/test_decorators.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/tracing/test_exporters.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/tracing/test_integrations.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/tracing/test_interceptors.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/infrastructure/tracing/test_manager.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/integration/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/integration/test_config_environment.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/integration/test_event_observability.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/integration/test_factory_assertions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/integration/test_middleware_chain.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/migration/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/migration/test_v3_13_to_v3_14_examples.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/plugins/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/plugins/builtin/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/plugins/builtin/monitoring/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/plugins/builtin/monitoring/test_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/test_json_to_model_generator.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/assertions/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/assertions/test_json_schema.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/assertions/test_matchers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/data/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/data/pipeline/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/data/pipeline/test_pipeline.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/data/pipeline/test_pipeline_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/data/test_builders.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/data/test_data_generator.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/data/test_factories.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/debugging/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/debugging/test_console_debug_observer.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/decorators/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/decorators/test_actions_class.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/decorators/test_api_class.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/decorators/test_service_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/decorators/test_ui_client.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/test_cleanup.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/test_fixtures_core.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/test_fixtures_debugging.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/test_fixtures_message_queue.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/test_fixtures_monitoring.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/test_http_recorder.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/test_monitoring_metrics.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/fixtures/test_ui_fixtures.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/mocking/__init__.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/mocking/test_database_mock.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/mocking/test_http_mock.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/mocking/test_redis_mock.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/mocking/test_time_mock.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/plugins/test_api_autodiscovery.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/plugins/test_debug_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/plugins/test_env_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/plugins/test_logging_plugin.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/plugins/test_markers.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/reporting/test_allure_observer.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/test_allure_helper.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/test_assertions.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/test_data_loaders.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/tests/testing/test_factories_presets.py +0 -0
- {df_test_framework-4.7.0 → df_test_framework-4.7.1}/verify_fixes.py +0 -0
|
@@ -5,6 +5,12 @@
|
|
|
5
5
|
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
|
6
6
|
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
7
7
|
|
|
8
|
+
## [4.7.1] - 2026-05-22
|
|
9
|
+
|
|
10
|
+
### 🐛 修复
|
|
11
|
+
|
|
12
|
+
- **Allure 报告重复记录**(`testing/fixtures/allure.py`):`_auto_allure_observer` autouse fixture 在每次测试结束后未取消 EventBus 订阅,导致 handler 随测试数量线性累积,后续测试的每个 HTTP/DB 事件被 N 个遗留 observer 重复写入报告。现改为在 `finally` 块中逐一 unsubscribe,彻底消除重复。
|
|
13
|
+
|
|
8
14
|
## [4.7.0] - 2026-05-19
|
|
9
15
|
|
|
10
16
|
### ✨ 新增
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# DF Test Framework
|
|
2
2
|
|
|
3
|
-
> **版本**: v4.
|
|
4
|
-
> **更新时间**: 2026-
|
|
3
|
+
> **版本**: v4.7.0
|
|
4
|
+
> **更新时间**: 2026-05-19
|
|
5
5
|
> 简单、强大、可扩展的现代化 Python 测试自动化框架
|
|
6
6
|
|
|
7
7
|
[](https://pypi.org/project/df-test-framework/)
|
|
@@ -14,6 +14,19 @@
|
|
|
14
14
|
|
|
15
15
|
### 当前版本亮点 ⚡🔭📊
|
|
16
16
|
|
|
17
|
+
**🆕 v4.7.0 Bootstrap 多数据库 + 平台元数据**:
|
|
18
|
+
- ✨ **`register_async_database(name, url)`** - 按名称注册多个异步连接池,多数据库场景(OMS/BPM 等)
|
|
19
|
+
- ✨ **`get_async_database(name)`** - 每次返回绑定当前 RuntimeContext 的视图,事件携带 scope/metadata
|
|
20
|
+
- ✨ **`RuntimeContext.metadata`** - 跨插件/跨进程平台上下文(tenant_id、execution_id 等)
|
|
21
|
+
- ✨ **`with_metadata(**kwargs)`** - 不可变合并,与 `with_scope()` 自动联动传播
|
|
22
|
+
|
|
23
|
+
**🆕 v4.6.x 测试数据管线(标准能力完整版)**:
|
|
24
|
+
- ✨ **`case_dataset()` + `CaseContext[T]`** - YAML → pytest 参数化全链路,支持泛型领域模型
|
|
25
|
+
- ✨ **YAML 级 skip/xfail/seed/timeout/marks/tags** - 在数据文件中声明测试行为,无需 conftest 手写
|
|
26
|
+
- ✨ **自动 Allure**:pytest 插件 setup 阶段自动写标题/标签/附件,测试函数零样板
|
|
27
|
+
- ✨ **CLI 过滤**:`--case`/`--case-stage`/`--case-tag`/`--case-file`/`--seed` 精准复现
|
|
28
|
+
- ✨ **`DataAssetResolver`**:文件资产路径安全(禁绝对路径 + `../` 逃逸)
|
|
29
|
+
|
|
17
30
|
**🚀 v4.0.0 全面异步化 - 性能飞跃**:
|
|
18
31
|
- ✨ **AsyncHttpClient** - 异步 HTTP 客户端,并发性能提升 **10-30 倍**
|
|
19
32
|
- ✨ **AsyncDatabase** - 异步数据库客户端,基于 SQLAlchemy 2.0 AsyncEngine
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Bootstrap 引导系统指南
|
|
2
2
|
|
|
3
|
-
> **最后更新**: 2026-
|
|
4
|
-
> **适用版本**: v3.16.0+(Bootstrap 架构),v4.0.0
|
|
3
|
+
> **最后更新**: 2026-05-19
|
|
4
|
+
> **适用版本**: v3.16.0+(Bootstrap 架构),v4.0.0+(异步支持),v4.7.0+(多数据库 + 平台元数据)
|
|
5
5
|
|
|
6
6
|
## 概述
|
|
7
7
|
|
|
@@ -396,6 +396,66 @@ finally:
|
|
|
396
396
|
|
|
397
397
|
---
|
|
398
398
|
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
## v4.7.0 扩展:多数据库 + 平台元数据
|
|
402
|
+
|
|
403
|
+
### 命名 AsyncDatabase 注册(多数据库场景)
|
|
404
|
+
|
|
405
|
+
```python
|
|
406
|
+
# conftest.py — session 级一次性注册
|
|
407
|
+
@pytest.fixture(scope="session", autouse=True)
|
|
408
|
+
def register_named_databases(runtime):
|
|
409
|
+
settings = runtime.settings
|
|
410
|
+
runtime.register_async_database("oms", settings.oms_db_url)
|
|
411
|
+
runtime.register_async_database("bpm", settings.bpm_db_url)
|
|
412
|
+
|
|
413
|
+
# 测试侧 — 按名称获取,每次绑定调用时的 RuntimeContext
|
|
414
|
+
async def test_order_sync(runtime):
|
|
415
|
+
oms_db = runtime.get_async_database("oms") # 连接池复用,runtime 视图是当前 context
|
|
416
|
+
bpm_db = runtime.get_async_database("bpm")
|
|
417
|
+
|
|
418
|
+
order = await oms_db.query_one("SELECT * FROM orders WHERE id = :id", {"id": 1})
|
|
419
|
+
task = await bpm_db.query_one("SELECT * FROM tasks WHERE order_id = :id", {"id": 1})
|
|
420
|
+
assert task["status"] == "approved"
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
**核心设计**:
|
|
424
|
+
- `register_async_database(name, url)` 用 `SingletonProvider` 延迟创建引擎(首次 `get_async_database` 时才建连接)
|
|
425
|
+
- `get_async_database(name)` 每次返回 `db.with_runtime(self)` 视图:engine/session_factory 共享,`_runtime` 绑定当前 RuntimeContext
|
|
426
|
+
- 事件(`DatabaseQueryStartEvent` 等)携带调用时的 scope 和 metadata,不会丢失测试上下文
|
|
427
|
+
|
|
428
|
+
### RuntimeContext.metadata — 平台业务上下文
|
|
429
|
+
|
|
430
|
+
```python
|
|
431
|
+
# 创建携带租户/执行 ID 的运行时
|
|
432
|
+
exec_runtime = (
|
|
433
|
+
runtime
|
|
434
|
+
.with_scope(request.node.nodeid)
|
|
435
|
+
.with_metadata(tenant_id="t-123", execution_id="exec-456")
|
|
436
|
+
)
|
|
437
|
+
|
|
438
|
+
# 插件或 DB 事件处理侧读取
|
|
439
|
+
tenant_id = runtime.metadata.get("tenant_id")
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
`with_scope()` / `with_overrides()` 自动传播 metadata,不需要重复传入。
|
|
443
|
+
|
|
444
|
+
### RuntimeBuilder 初始化时注入 metadata
|
|
445
|
+
|
|
446
|
+
```python
|
|
447
|
+
runtime = (
|
|
448
|
+
RuntimeBuilder()
|
|
449
|
+
.with_settings(settings)
|
|
450
|
+
.with_logger(logger)
|
|
451
|
+
.with_event_bus(event_bus)
|
|
452
|
+
.with_metadata({"env": "staging", "suite": "regression"})
|
|
453
|
+
.build()
|
|
454
|
+
)
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
399
459
|
## 相关文档
|
|
400
460
|
|
|
401
461
|
- [配置系统指南](config_guide.md) - FrameworkSettings 详细说明
|
|
@@ -406,4 +466,4 @@ finally:
|
|
|
406
466
|
|
|
407
467
|
---
|
|
408
468
|
|
|
409
|
-
**完成时间**: 2026-01-17
|
|
469
|
+
**完成时间**: 2026-01-17 | **最后更新**: 2026-05-19(v4.7.0)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# v4.7.1 发布说明
|
|
2
|
+
|
|
3
|
+
**发布日期**: 2026-05-22
|
|
4
|
+
**类型**: Bug Fix
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 问题描述
|
|
9
|
+
|
|
10
|
+
Allure 报告中 HTTP 请求和数据库查询内容出现重复记录。测试越多,同一个事件在报告里出现的次数就越多(第 N 个测试的事件会出现 N 次)。
|
|
11
|
+
|
|
12
|
+
## 根本原因
|
|
13
|
+
|
|
14
|
+
`testing/fixtures/allure.py` 中的 `_auto_allure_observer` autouse fixture 在每次测试结束后没有取消 EventBus 订阅。
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
测试 1 结束:EventBus 仍保留 observer_1 的 22 个 handler
|
|
18
|
+
测试 2 结束:EventBus 保留 observer_1 + observer_2 共 44 个 handler
|
|
19
|
+
测试 N 运行:每个 HTTP/DB 事件触发 N 个 handler,写入 N 条 allure step
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
v3.46.1 重构时注释写"不需要取消订阅,因为使用全局 EventBus + scope 过滤",但订阅时 `scope=None` 表示接收所有事件,不做过滤——旧 observer 的 handler 在整个 session 中持续活跃,向当前测试的 allure 上下文写入重复数据。
|
|
23
|
+
|
|
24
|
+
## 修复内容
|
|
25
|
+
|
|
26
|
+
`testing/fixtures/allure.py` - `_auto_allure_observer`:
|
|
27
|
+
|
|
28
|
+
- 将 22 个订阅改为列表管理(`subscriptions`)
|
|
29
|
+
- 在 `finally` 块中逐一调用 `unsubscribe`,确保测试结束后 handler 从全局 EventBus 移除
|
|
30
|
+
- 嵌套 `try/finally` 保证即使 unsubscribe 抛异常,`observer.cleanup()` 和 `set_current_observer(None)` 仍然执行
|
|
31
|
+
|
|
32
|
+
## 升级方式
|
|
33
|
+
|
|
34
|
+
无 API 变更,直接升级即可:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
uv add df-test-framework==4.7.1
|
|
38
|
+
```
|
|
@@ -92,9 +92,9 @@ timeout_method = "thread"
|
|
|
92
92
|
# v4.0.0: pytest-asyncio 配置(异步测试支持)
|
|
93
93
|
# auto 模式:自动识别异步测试,无需 @pytest.mark.asyncio 装饰器
|
|
94
94
|
asyncio_mode = "auto"
|
|
95
|
-
# v4.
|
|
96
|
-
#
|
|
97
|
-
|
|
95
|
+
# v4.7.0: 显式设置为 function(pytest-asyncio 的未来默认值),消除 PytestDeprecationWarning
|
|
96
|
+
# async session fixtures 已使用 @pytest_asyncio.fixture(loop_scope="session") 精确控制,不受影响
|
|
97
|
+
asyncio_default_fixture_loop_scope = "function"
|
|
98
98
|
|
|
99
99
|
# Live logging: 实时显示日志(运行时)
|
|
100
100
|
# 本地调试时使用: pytest --log-cli-level=DEBUG -v -s
|
{df_test_framework-4.7.0 → df_test_framework-4.7.1}/src/df_test_framework/testing/fixtures/allure.py
RENAMED
|
@@ -197,99 +197,54 @@ def _auto_allure_observer(request) -> Generator[AllureObserver | None, None, Non
|
|
|
197
197
|
# Allure 作为全局观察者,使用 scope=None 订阅所有事件
|
|
198
198
|
test_event_bus = get_global_event_bus()
|
|
199
199
|
|
|
200
|
-
#
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
test_event_bus.subscribe(
|
|
236
|
-
CacheOperationErrorEvent, observer.handle_cache_operation_error_event, scope=None
|
|
237
|
-
)
|
|
238
|
-
|
|
239
|
-
# MQ 事件 (v3.34.1 重构为 End/Error 模式)
|
|
240
|
-
test_event_bus.subscribe(
|
|
241
|
-
MessagePublishEndEvent, observer.handle_message_publish_end_event, scope=None
|
|
242
|
-
)
|
|
243
|
-
test_event_bus.subscribe(
|
|
244
|
-
MessagePublishErrorEvent, observer.handle_message_publish_error_event, scope=None
|
|
245
|
-
)
|
|
246
|
-
test_event_bus.subscribe(
|
|
247
|
-
MessageConsumeEndEvent, observer.handle_message_consume_end_event, scope=None
|
|
248
|
-
)
|
|
249
|
-
test_event_bus.subscribe(
|
|
250
|
-
MessageConsumeErrorEvent, observer.handle_message_consume_error_event, scope=None
|
|
251
|
-
)
|
|
252
|
-
|
|
253
|
-
# Storage 事件
|
|
254
|
-
test_event_bus.subscribe(
|
|
255
|
-
StorageOperationStartEvent, observer.handle_storage_operation_start_event, scope=None
|
|
256
|
-
)
|
|
257
|
-
test_event_bus.subscribe(
|
|
258
|
-
StorageOperationEndEvent, observer.handle_storage_operation_end_event, scope=None
|
|
259
|
-
)
|
|
260
|
-
test_event_bus.subscribe(
|
|
261
|
-
StorageOperationErrorEvent, observer.handle_storage_operation_error_event, scope=None
|
|
262
|
-
)
|
|
263
|
-
|
|
264
|
-
# Transaction 事件 (v3.18.0)
|
|
265
|
-
test_event_bus.subscribe(
|
|
266
|
-
TransactionCommitEvent, observer.handle_transaction_commit_event, scope=None
|
|
267
|
-
)
|
|
268
|
-
test_event_bus.subscribe(
|
|
269
|
-
TransactionRollbackEvent, observer.handle_transaction_rollback_event, scope=None
|
|
270
|
-
)
|
|
271
|
-
|
|
272
|
-
# Web UI 事件 (v3.44.0)
|
|
273
|
-
test_event_bus.subscribe(
|
|
274
|
-
UIActionEvent, observer.handle_ui_action_event, scope=None
|
|
275
|
-
) # v3.46.0: AppActions
|
|
276
|
-
test_event_bus.subscribe(
|
|
277
|
-
WebBrowserEvent, observer.handle_web_browser_event, scope=None
|
|
278
|
-
) # Playwright 原生
|
|
279
|
-
test_event_bus.subscribe(UIErrorEvent, observer.handle_ui_error_event, scope=None)
|
|
200
|
+
# 用列表管理所有订阅,便于测试结束后统一取消订阅
|
|
201
|
+
subscriptions = [
|
|
202
|
+
# HTTP 事件
|
|
203
|
+
(HttpRequestStartEvent, observer.handle_http_request_start_event),
|
|
204
|
+
(HttpRequestEndEvent, observer.handle_http_request_end_event),
|
|
205
|
+
(HttpRequestErrorEvent, observer.handle_http_request_error_event),
|
|
206
|
+
(MiddlewareExecuteEvent, observer.handle_middleware_execute_event),
|
|
207
|
+
# Database 事件
|
|
208
|
+
(DatabaseQueryStartEvent, observer.handle_database_query_start_event),
|
|
209
|
+
(DatabaseQueryEndEvent, observer.handle_database_query_end_event),
|
|
210
|
+
(DatabaseQueryErrorEvent, observer.handle_database_query_error_event),
|
|
211
|
+
# Cache 事件 (Redis)
|
|
212
|
+
(CacheOperationStartEvent, observer.handle_cache_operation_start_event),
|
|
213
|
+
(CacheOperationEndEvent, observer.handle_cache_operation_end_event),
|
|
214
|
+
(CacheOperationErrorEvent, observer.handle_cache_operation_error_event),
|
|
215
|
+
# MQ 事件 (v3.34.1 重构为 End/Error 模式)
|
|
216
|
+
(MessagePublishEndEvent, observer.handle_message_publish_end_event),
|
|
217
|
+
(MessagePublishErrorEvent, observer.handle_message_publish_error_event),
|
|
218
|
+
(MessageConsumeEndEvent, observer.handle_message_consume_end_event),
|
|
219
|
+
(MessageConsumeErrorEvent, observer.handle_message_consume_error_event),
|
|
220
|
+
# Storage 事件
|
|
221
|
+
(StorageOperationStartEvent, observer.handle_storage_operation_start_event),
|
|
222
|
+
(StorageOperationEndEvent, observer.handle_storage_operation_end_event),
|
|
223
|
+
(StorageOperationErrorEvent, observer.handle_storage_operation_error_event),
|
|
224
|
+
# Transaction 事件 (v3.18.0)
|
|
225
|
+
(TransactionCommitEvent, observer.handle_transaction_commit_event),
|
|
226
|
+
(TransactionRollbackEvent, observer.handle_transaction_rollback_event),
|
|
227
|
+
# Web UI 事件 (v3.44.0)
|
|
228
|
+
(UIActionEvent, observer.handle_ui_action_event),
|
|
229
|
+
(WebBrowserEvent, observer.handle_web_browser_event),
|
|
230
|
+
(UIErrorEvent, observer.handle_ui_error_event),
|
|
231
|
+
]
|
|
232
|
+
|
|
233
|
+
for event_type, handler in subscriptions:
|
|
234
|
+
test_event_bus.subscribe(event_type, handler, scope=None)
|
|
280
235
|
|
|
281
236
|
try:
|
|
282
|
-
# yield让测试执行
|
|
283
|
-
# 注意: 不需要用 with allure.step(),因为HTTP请求会创建自己的step
|
|
284
237
|
yield observer
|
|
285
238
|
finally:
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
239
|
+
try:
|
|
240
|
+
# 取消订阅所有 handler,防止旧 observer 在后续测试中继续触发导致重复记录
|
|
241
|
+
for event_type, handler in subscriptions:
|
|
242
|
+
test_event_bus.unsubscribe(event_type, handler)
|
|
243
|
+
finally:
|
|
244
|
+
try:
|
|
245
|
+
observer.cleanup()
|
|
246
|
+
finally:
|
|
247
|
+
set_current_observer(None)
|
|
293
248
|
|
|
294
249
|
|
|
295
250
|
__all__ = ["_auto_allure_observer"]
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"""Allure fixture 回归测试。"""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from types import SimpleNamespace
|
|
6
|
+
|
|
7
|
+
import pytest
|
|
8
|
+
|
|
9
|
+
from df_test_framework.core.events import HttpRequestStartEvent
|
|
10
|
+
from df_test_framework.infrastructure.events import EventBus, set_global_event_bus
|
|
11
|
+
from df_test_framework.testing.fixtures import allure as allure_fixture
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class FakeAllureObserver:
|
|
15
|
+
"""用于验证 fixture 订阅生命周期的 AllureObserver 替身。"""
|
|
16
|
+
|
|
17
|
+
instances: list[FakeAllureObserver] = []
|
|
18
|
+
|
|
19
|
+
def __init__(self, test_name: str):
|
|
20
|
+
self.test_name = test_name
|
|
21
|
+
self.http_start_events: list[HttpRequestStartEvent] = []
|
|
22
|
+
self.cleaned = False
|
|
23
|
+
FakeAllureObserver.instances.append(self)
|
|
24
|
+
|
|
25
|
+
async def handle_http_request_start_event(self, event: HttpRequestStartEvent) -> None:
|
|
26
|
+
"""记录 HTTP 请求开始事件。"""
|
|
27
|
+
self.http_start_events.append(event)
|
|
28
|
+
|
|
29
|
+
async def handle_http_request_end_event(self, event) -> None:
|
|
30
|
+
"""忽略 HTTP 请求结束事件。"""
|
|
31
|
+
|
|
32
|
+
async def handle_http_request_error_event(self, event) -> None:
|
|
33
|
+
"""忽略 HTTP 请求错误事件。"""
|
|
34
|
+
|
|
35
|
+
async def handle_middleware_execute_event(self, event) -> None:
|
|
36
|
+
"""忽略中间件事件。"""
|
|
37
|
+
|
|
38
|
+
def handle_database_query_start_event(self, event) -> None:
|
|
39
|
+
"""忽略数据库查询开始事件。"""
|
|
40
|
+
|
|
41
|
+
def handle_database_query_end_event(self, event) -> None:
|
|
42
|
+
"""忽略数据库查询结束事件。"""
|
|
43
|
+
|
|
44
|
+
def handle_database_query_error_event(self, event) -> None:
|
|
45
|
+
"""忽略数据库查询错误事件。"""
|
|
46
|
+
|
|
47
|
+
async def handle_cache_operation_start_event(self, event) -> None:
|
|
48
|
+
"""忽略缓存操作开始事件。"""
|
|
49
|
+
|
|
50
|
+
async def handle_cache_operation_end_event(self, event) -> None:
|
|
51
|
+
"""忽略缓存操作结束事件。"""
|
|
52
|
+
|
|
53
|
+
async def handle_cache_operation_error_event(self, event) -> None:
|
|
54
|
+
"""忽略缓存操作错误事件。"""
|
|
55
|
+
|
|
56
|
+
async def handle_message_publish_end_event(self, event) -> None:
|
|
57
|
+
"""忽略消息发布成功事件。"""
|
|
58
|
+
|
|
59
|
+
async def handle_message_publish_error_event(self, event) -> None:
|
|
60
|
+
"""忽略消息发布错误事件。"""
|
|
61
|
+
|
|
62
|
+
async def handle_message_consume_end_event(self, event) -> None:
|
|
63
|
+
"""忽略消息消费成功事件。"""
|
|
64
|
+
|
|
65
|
+
async def handle_message_consume_error_event(self, event) -> None:
|
|
66
|
+
"""忽略消息消费错误事件。"""
|
|
67
|
+
|
|
68
|
+
async def handle_storage_operation_start_event(self, event) -> None:
|
|
69
|
+
"""忽略存储操作开始事件。"""
|
|
70
|
+
|
|
71
|
+
async def handle_storage_operation_end_event(self, event) -> None:
|
|
72
|
+
"""忽略存储操作结束事件。"""
|
|
73
|
+
|
|
74
|
+
async def handle_storage_operation_error_event(self, event) -> None:
|
|
75
|
+
"""忽略存储操作错误事件。"""
|
|
76
|
+
|
|
77
|
+
def handle_transaction_commit_event(self, event) -> None:
|
|
78
|
+
"""忽略事务提交事件。"""
|
|
79
|
+
|
|
80
|
+
def handle_transaction_rollback_event(self, event) -> None:
|
|
81
|
+
"""忽略事务回滚事件。"""
|
|
82
|
+
|
|
83
|
+
async def handle_ui_action_event(self, event) -> None:
|
|
84
|
+
"""忽略 UI 操作事件。"""
|
|
85
|
+
|
|
86
|
+
async def handle_web_browser_event(self, event) -> None:
|
|
87
|
+
"""忽略浏览器事件。"""
|
|
88
|
+
|
|
89
|
+
async def handle_ui_error_event(self, event) -> None:
|
|
90
|
+
"""忽略 UI 错误事件。"""
|
|
91
|
+
|
|
92
|
+
def cleanup(self) -> None:
|
|
93
|
+
"""标记清理已执行。"""
|
|
94
|
+
self.cleaned = True
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
@pytest.fixture
|
|
98
|
+
def patched_allure_fixture(monkeypatch: pytest.MonkeyPatch):
|
|
99
|
+
"""替换 Allure 依赖,避免测试依赖真实 allure 运行环境。"""
|
|
100
|
+
FakeAllureObserver.instances.clear()
|
|
101
|
+
bus = EventBus()
|
|
102
|
+
set_global_event_bus(bus)
|
|
103
|
+
|
|
104
|
+
monkeypatch.setattr(allure_fixture, "ALLURE_AVAILABLE", True)
|
|
105
|
+
monkeypatch.setattr(allure_fixture, "allure", object())
|
|
106
|
+
monkeypatch.setattr(allure_fixture, "AllureObserver", FakeAllureObserver)
|
|
107
|
+
|
|
108
|
+
current_observers = []
|
|
109
|
+
monkeypatch.setattr(
|
|
110
|
+
allure_fixture,
|
|
111
|
+
"set_current_observer",
|
|
112
|
+
lambda observer: current_observers.append(observer),
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
return bus
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def _run_auto_allure_fixture(test_name: str):
|
|
119
|
+
request = SimpleNamespace(node=SimpleNamespace(name=test_name))
|
|
120
|
+
generator = allure_fixture._auto_allure_observer.__wrapped__(request)
|
|
121
|
+
observer = next(generator)
|
|
122
|
+
return generator, observer
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
@pytest.mark.asyncio
|
|
126
|
+
async def test_auto_allure_observer_unsubscribes_handlers_after_test(
|
|
127
|
+
patched_allure_fixture: EventBus,
|
|
128
|
+
) -> None:
|
|
129
|
+
"""测试结束后必须退订 observer,避免后续测试重复记录 Allure 附件。"""
|
|
130
|
+
bus = patched_allure_fixture
|
|
131
|
+
|
|
132
|
+
first_generator, first_observer = _run_auto_allure_fixture("test_first")
|
|
133
|
+
assert bus.handler_count() == 22
|
|
134
|
+
|
|
135
|
+
with pytest.raises(StopIteration):
|
|
136
|
+
next(first_generator)
|
|
137
|
+
|
|
138
|
+
assert bus.handler_count() == 0
|
|
139
|
+
assert first_observer.cleaned is True
|
|
140
|
+
|
|
141
|
+
await bus.publish(HttpRequestStartEvent(method="GET", url="/after-first"))
|
|
142
|
+
assert first_observer.http_start_events == []
|
|
143
|
+
|
|
144
|
+
second_generator, second_observer = _run_auto_allure_fixture("test_second")
|
|
145
|
+
assert bus.handler_count() == 22
|
|
146
|
+
|
|
147
|
+
await bus.publish(HttpRequestStartEvent(method="GET", url="/second"))
|
|
148
|
+
assert len(first_observer.http_start_events) == 0
|
|
149
|
+
assert len(second_observer.http_start_events) == 1
|
|
150
|
+
|
|
151
|
+
with pytest.raises(StopIteration):
|
|
152
|
+
next(second_generator)
|
|
153
|
+
|
|
154
|
+
assert bus.handler_count() == 0
|
|
155
|
+
assert second_observer.cleaned is True
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/PLUGIN_SYSTEM_V3.37.md
RENAMED
|
File without changes
|
|
File without changes
|
{df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/TEST_EXECUTION_LIFECYCLE.md
RENAMED
|
File without changes
|
|
File without changes
|
{df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/REFACTORING_PLAN_V3.md
RENAMED
|
File without changes
|
|
File without changes
|
{df_test_framework-4.7.0 → df_test_framework-4.7.1}/docs/architecture/archive/design/DI_STRATEGY.md
RENAMED
|
File without changes
|
|
File without changes
|