df-test-framework 4.7.2__tar.gz → 4.7.4__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.2 → df_test_framework-4.7.4}/AGENTS.md +2 -2
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/CHANGELOG.md +27 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/CLAUDE.md +2 -2
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/PKG-INFO +1 -1
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/README.md +2 -2
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/ESSENTIAL_DOCS.md +2 -2
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/README.md +1 -1
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/infrastructure.md +15 -9
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/logging_guide.md +29 -28
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/README.md +4 -2
- df_test_framework-4.7.4/docs/releases/v4.7.3.md +83 -0
- df_test_framework-4.7.4/docs/releases/v4.7.4.md +66 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/pyproject.toml +1 -1
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/__init__.py +1 -1
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/env_files.py +7 -7
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/settings_enhanced.py +3 -3
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/config/schema.py +3 -3
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/logging/config.py +75 -149
- df_test_framework-4.7.4/src/df_test_framework/plugins/builtin/reporting/oms_reporter_plugin.py +227 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/test_logging.py +26 -27
- df_test_framework-4.7.4/tests/plugins/builtin/reporting/test_oms_reporter_plugin.py +124 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/uv.lock +1 -1
- df_test_framework-4.7.2/src/df_test_framework/plugins/builtin/reporting/oms_reporter_plugin.py +0 -158
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.editorconfig +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.env.example +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.gitattributes +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.github/workflows/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.github/workflows/lint.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.github/workflows/release.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.github/workflows/scheduled.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.github/workflows/security.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.github/workflows/test.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.gitignore +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.gitleaks.toml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.gitleaksignore +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.pre-commit-config.yaml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/.python-version +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/CONTRIBUTING.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/README_PYPI.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/CONTRIBUTOR_GUIDE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/DOC_REORGANIZATION_PLAN_v4.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/FAQ.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/LEARNING_PATH.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/clients.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/core/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/core/context.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/core/events.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/core/exceptions.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/core/middleware.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/core/protocols.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/core/types.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/core.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/databases.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/drivers.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/extensions.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/patterns.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/api-reference/testing.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/ARCHITECTURE_V4.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/CODE_STRUCTURE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/PLUGIN_SYSTEM_V3.37.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/TEST_EXECUTION_LIFECYCLE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/REFACTORING_PLAN_V3.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/REFACTORING_PLAN_V3_REVISED.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/DI_STRATEGY.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/PREPARE_DATA_DESIGN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/TESTING_MODULE_OPTIMIZATION.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/UOW_CLEANUP_ARCHITECTURE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/UOW_REFACTORING_PROPOSAL.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/allure_integration_modes.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/capability_plan_vs_current.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/config-driven-design.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/config-management-analysis.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/eventbus-integration-analysis.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/failure-diagnosis-v2-design.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/future_allure_plugin_plans.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/http-vs-web-comparison.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/observability-debugging-unification.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/provider-pattern-deep-dive.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/tech-debt-cleanup-plan.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/ui-failure-diagnosis-implementation-v3.46.3.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/design/ui-observability-design.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/discussion_1_initial_issues.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/v3_complete_draft.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/v3_final_draft.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/FRAMEWORK_ARCHITECTURE_v3.6.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/OVERVIEW_V3.17.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/V3.14_ENTERPRISE_PLATFORM_DESIGN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/V3.16_LAYER4_BOOTSTRAP_ARCHITECTURE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/V3.17_EVENT_SYSTEM_REDESIGN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/V3_ARCHITECTURE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/V3_IMPLEMENTATION.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/overview.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/archive/versions/v2-architecture.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/extension-points.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/failure-diagnosis-hook-example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/multi-project-reuse.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/observability-architecture.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/architecture/test-type-support.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/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.2 → df_test_framework-4.7.4}/docs/archive/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/ACTION_PLAN_v2.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/AUDIT_VERIFICATION_REPORT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/AUTH_PLACEMENT_ANALYSIS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/CODE_REVIEW_f95e08cd.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/COMPREHENSIVE_FEATURE_AUDIT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/FRAMEWORK_OPTIMIZATION_ANALYSIS_2025.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/PHASE2_COMPARISON_ANALYSIS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/PHASE2_COMPLETION_REPORT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/PHASE2_SUMMARY.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis/V3_REFACTORING_COMPLETE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis_2025/ALLURE_HTTP_LOGGING_ISSUE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis_2025/ALLURE_INTEGRATION_CHECK_REPORT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis_2025/ALLURE_INTEGRATION_DESIGN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis_2025/ALLURE_INTEGRATION_SUMMARY.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis_2025/ALLURE_ROOT_CAUSE_ANALYSIS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis_2025/CODE_ANALYSIS_AND_PROGRESS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis_2025/COMPREHENSIVE_FRAMEWORK_EVALUATION.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/analysis_2025/CONFIG_MODERNIZATION_ANALYSIS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/ARCHITECTURE_AUDIT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/FUTURE_ENHANCEMENTS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/IMPLEMENTATION_SUMMARY.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/MIDDLEWARE_V3.14_DESIGN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/ROADMAP_V3.29_ENHANCEMENTS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/SIGNATURE_FRAMEWORK_CAPABILITIES.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/TEMPLATE_DEBUG_FIXTURES_ISSUE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/observability-config-design.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/ui-best-practices-2026.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/web-architecture-consistency-design.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/design/web-event-driven-comparison.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/evaluations_2025/DUAL_AI_ANALYSIS_COMPARISON.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/evaluations_2025/FRAMEWORK_ASSESSMENT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/evaluations_2025/FRAMEWORK_BEST_PRACTICES_UPDATE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/evaluations_2025/FRAMEWORK_CAPABILITIES.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/evaluations_2025/FRAMEWORK_IMPROVEMENT_PROPOSALS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/guides/async_database_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/guides/async_http_client.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/guides/httpx_advanced_usage.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/guides/logging_configuration.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/guides/logging_pytest_integration.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/guides/modern_logging_best_practices.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/guides/repository_uow_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/111.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/CONFIG_AND_INTERCEPTOR_INTEGRATION.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/DIRECTORY_STRUCTURE_REFACTORING.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/INTERCEPTOR_ARCHITECTURE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/INTERCEPTOR_ARCHITECTURE_VERIFICATION.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/INTERCEPTOR_CONFIG_BEST_PRACTICES.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/INTERCEPTOR_IDEAL_DESIGN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/INTERCEPTOR_IDEAL_VS_ACTUAL.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/INTERCEPTOR_LOCATION_DECISION.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/INTERCEPTOR_NAMING_STANDARDS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/INTERCEPTOR_PERFORMANCE_ANALYSIS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/REFACTORING_IMPLEMENTATION_PLAN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/interceptor_refactoring/REFACTORING_PROGRESS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/issues/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/issues/summary.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/issues/v1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/migration/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/migration/v3.15-to-v3.16.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/plans/CAPABILITY_LAYER_OPTIMIZATION.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/plans/REFACTORING_PLAN_v2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/plans/REFACTORING_TASKS_v2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/plans/RFC_MULTIPART_FORM_DATA_SUPPORT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/plans/RFC_MULTIPART_IMPLEMENTATION_CODE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/plans/UV_SYNC_MIGRATION_SUMMARY.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/plans/UV_SYNC_QUICK_START.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/plans/v2-migration-plan-draft.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/CHANGELOG_AUDIT_REPORT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/CODE_QUALITY_FIXES_2025-11-09.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/CORE_DOCS_UPDATE_PLAN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/DOCUMENTATION_AUDIT_REPORT_2025-12-05.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/DOCUMENTATION_CLEANUP_SUMMARY.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/DOCUMENTATION_INDEX.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/DOCUMENTATION_MAINTENANCE_COMPLETE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/DOCUMENTATION_UPDATE_CHECKLIST.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/DOC_UPDATE_SUMMARY.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/IMPROVEMENTS_2025-01-09.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/PHASE3_COMPLETION_REPORT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/PYTHON_VERSION_UNIFICATION.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/REFACTORING_COMPLETION_CHECK.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/TEST_CODE_GENERATION_ANALYSIS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/V3.3.0_DOCUMENTATION_UPDATE_SUMMARY.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/V3.3.0_MIGRATION_CHECKLIST.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/V3.5_ALLURE_INTEGRATION_PLAN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/V3.5_DOCUMENTATION_COMPLETE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/V3.5_OBSERVABILITY_FINAL_STATUS.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/V3.5_PHASE2_ACCEPTANCE_REPORT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/V3.5_REFACTOR_PLAN.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/V3.5_REFACTOR_PLAN_REVISED.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/VERIFIED_BEST_PRACTICES_INTEGRATION_COMPLETE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/reports_2025/async_http_client_design.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/user-guide/PHASE3_FEATURES.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/user-guide/extensions.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/user-guide/ui-testing.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/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.2 → df_test_framework-4.7.4}/docs/archive/v1/FRAMEWORK_DESIGN_PRINCIPLES.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/v1/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/v1/UPGRADE_SUMMARY_v1.3.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/v1/architecture.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/v1/best-practices.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/v1/config-integration-guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/v1/optimization-report.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/v1/publishing.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/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.2 → df_test_framework-4.7.4}/docs/archive/versions/QUICK_START_V3.14.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/archive/versions/QUICK_START_V3.5.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/ci-templates/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/ci-templates/github-actions.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/ci-templates/gitlab-ci.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/development/DOCUMENTATION_MAINTENANCE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/development/FRAMEWORK_DEPENDENCY_MANAGEMENT.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/development/RELEASE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/development/VERSION_CONTROL_RULES.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/development/local-development.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/DECIMAL_GUIDE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/allure_plugin.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/assertions_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/async_api_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/auth_session_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/bootstrap_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/config_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/database_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/decorators_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/distributed_tracing.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/event_bus_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/extensions.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/factory_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/fixture_chain_pattern.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/fixtures_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/graphql_client.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/grpc_client.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/helpers_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/http_client_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/integration-guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/local_debug_quickstart.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/message_queue.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/middleware_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/mocking.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/monitoring_plugin.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/openapi_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/plugins_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/prometheus_metrics.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/redis_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/resilience_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/sanitize_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/scaffold_cli_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/service_client_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/storage.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/telemetry_guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/test_data.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/test_data_cleanup.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/test_data_pipeline_design.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/testing-development.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/guides/web-ui-testing.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/migration/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/migration/v3-to-v4.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.0.0-alpha.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.1.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.10.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.11.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.11.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.12.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.12.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.13.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.14.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.14.0_completion_report.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.14.0_implementation_complete.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.16.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.17.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.17.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.17.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.18.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.18.1-bugfix.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.18.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.19.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.2.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.20.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.21.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.22.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.22.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.23.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.24.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.25.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.26.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.27.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.28.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.28.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.29.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.3.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.30.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.31.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.32.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.33.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.34.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.34.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.35.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.35.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.35.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.35.3.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.35.4.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.35.5.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.35.6.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.35.7.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.36.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.36.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.37.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.38.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.38.10.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.38.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.38.4.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.38.5.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.38.7.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.38.8.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.38.9.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.39.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.39.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.4.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.40.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.41.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.41.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.42.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.43.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.44.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.45.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.46.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.46.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.46.3.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.5.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.6.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.6.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.6.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.7.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.8.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v3.9.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.0.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.0.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.0.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.0.3.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.0.4.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.1.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.1.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.1.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.2.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.2.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.2.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.3.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.3.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.4.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.4.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.4.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.4.3.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.4.4.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.5.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.6.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.6.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.7.0.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.7.1.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/releases/v4.7.2.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/skills/write-code.zip +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/skills/write-test.zip +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/troubleshooting/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/troubleshooting/common-errors.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/troubleshooting/debugging-guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/BEST_PRACTICES.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/QUICK_REFERENCE.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/QUICK_START.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/USER_MANUAL.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/VERIFIED_BEST_PRACTICES.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/ci-cd.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/code-generation.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/configuration.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/cross-project-sharing.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/debugging.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/examples.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/multi-repo.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/nested-settings-guide.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/docs/user-guide/security-best-practices.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/01-basic/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/01-basic/database_operations.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/01-basic/http_client_usage.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/01-basic/redis_cache.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/01-basic/storage_usage.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/02-bootstrap/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/02-bootstrap/custom_providers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/02-bootstrap/custom_settings.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/02-bootstrap/minimal_bootstrap.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/02-bootstrap/with_extensions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/03-testing/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/03-testing/conftest.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/03-testing/test_api.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/03-testing/test_database.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/03-testing/test_with_fixtures.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/04-patterns/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/04-patterns/builder_pattern.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/04-patterns/combined_patterns.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/04-patterns/repository_pattern.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/05-extensions/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/05-extensions/allure_enhancement_extension.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/05-extensions/custom_extension.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/05-extensions/data_factory_extension.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/05-extensions/environment_validator_extension.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/05-extensions/monitoring_extension.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/05-extensions/mq_monitor_extension.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/05-extensions/notification_extension.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/06-ui-testing/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/06-ui-testing/basic_ui_test.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/06-ui-testing/conftest.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/06-ui-testing/page_object_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/docker-compose-kafka.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/docker-compose-rabbitmq.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/docker-compose-rocketmq.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/kafka_basic.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/kafka_ssl.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/rabbitmq_basic.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/rabbitmq_topic.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/rocketmq-broker.conf +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-message-queue/rocketmq_basic.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-v35-features/01_configurable_interceptors.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-v35-features/02_profile_configuration.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-v35-features/03_runtime_overrides.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-v35-features/04_observability.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/07-v35-features/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/08-v37-features/01_unit_of_work_basics.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/08-v37-features/02_repository_v37.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/08-v37-features/03_auto_rollback_testing.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/08-v37-features/04_multi_repository_transactions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/08-v37-features/05_project_uow.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/08-v37-features/06_exception_handling_with_uow.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/08-v37-features/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/examples/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/scripts/fetch_swagger.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/scripts/security-scan.bat +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/scripts/security-scan.sh +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/bootstrap/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/bootstrap/bootstrap.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/bootstrap/providers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/bootstrap/runtime.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/middleware/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/middleware/base.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/middleware/event_publisher.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/middleware/logging.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/middleware/retry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/models.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/graphql/query_builder.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/middleware/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/middleware/base.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/middleware/event_publisher.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/middleware/logging.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/middleware/metadata.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/middleware/retry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/middleware/timing.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/grpc/models.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/core/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/core/request.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/core/response.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/middleware/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/middleware/auth.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/middleware/event_publisher.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/middleware/factory.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/middleware/logging.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/middleware/retry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/middleware/signature.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/middleware/telemetry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/rest/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/rest/factory.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/rest/httpx/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/rest/httpx/async_base_api.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/rest/httpx/async_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/rest/httpx/base_api.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/rest/httpx/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/clients/http/rest/protocols.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/async_database.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/database.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/factory.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/query_builder.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/redis/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/redis/async_redis.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/redis/redis_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/repositories/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/repositories/base.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/repositories/query_spec.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/databases/uow.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/app_actions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/async_app_actions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/factory.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/playwright/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/playwright/async_browser.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/playwright/async_browser_pool.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/playwright/async_page.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/playwright/browser.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/playwright/component.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/playwright/locator.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/playwright/page.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/drivers/web/protocols.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/engines/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/engines/batch/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/engines/batch/spark/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/engines/olap/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/engines/stream/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/engines/stream/flink/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/pubsub/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/kafka/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/kafka/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/kafka/config.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/config.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/rocketmq/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/rocketmq/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/messengers/queue/rocketmq/config.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/blob/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/file/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/file/local/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/file/local/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/file/local/config.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/object/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/object/oss/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/object/oss/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/object/oss/config.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/object/s3/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/object/s3/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/capabilities/storages/object/s3/config.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/__main__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/commands/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/commands/cicd.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/commands/env.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/commands/generate_cmd.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/commands/init_cmd.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/commands/interactive.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/generators/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/generators/json_to_model.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/generators/openapi_generator.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/generators/openapi_parser.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/main.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/.github/workflows/release.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/.github/workflows/scheduled.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/.github/workflows/test-full.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/.github/workflows/test.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/.gitlab-ci.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/Jenkinsfile +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/docker/.dockerignore +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/docker/Dockerfile +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/cicd/docker/docker-compose.yml +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/actions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/api_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/builder.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/graphql_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/redis_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/repository.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/test.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/test_complete.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/generators/test_graphql.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/async_example_api.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/async_ui_app_actions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/base_api.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/conftest.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/constants.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/data_cleaners.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/default_http_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/docs_api.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/editorconfig.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/enhanced_gitignore.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/env.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/fixture_chain_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/fixtures_init.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/full_conftest.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/full_settings.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/gitattributes.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/gitignore.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/models_requests_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/models_responses_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/pyproject_toml.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/readme.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/script_fetch_swagger.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/script_run_tests.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/settings.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/test_async_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/test_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/ui_app_actions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/ui_clients.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/ui_conftest.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/ui_fixtures_init.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/ui_page_object.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/ui_settings.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/ui_test_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/uow.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/user_api_example.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/utils_converters.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/utils_validators.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/templates/project/vscode_settings.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/cli/utils.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/context/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/context/execution.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/context/propagation.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/decorators.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/events/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/events/types.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/exceptions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/middleware/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/middleware/base.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/middleware/chain.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/middleware/decorator.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/middleware/protocol.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/models/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/models/base.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/protocols/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/protocols/client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/protocols/event.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/protocols/plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/protocols/repository.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/protocols/telemetry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/core/types.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/config/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/config/loader.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/config/middleware_schema.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/config/pipeline.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/config/settings.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/config/sources.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/context/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/context/carriers/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/context/carriers/grpc.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/context/carriers/http.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/context/carriers/mq.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/events/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/events/bus.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/events/handlers/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/helpers/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/helpers/crypto.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/helpers/hash.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/helpers/network.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/helpers/signature.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/logging/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/logging/interface.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/logging/logger.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/logging/observability.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/metrics/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/metrics/decorators.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/metrics/manager.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/metrics/observer.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/metrics/performance.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/metrics/registry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/metrics/types.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/plugins/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/plugins/hooks.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/plugins/manager.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/resilience/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/resilience/circuit_breaker.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/sanitize/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/sanitize/service.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/telemetry/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/telemetry/exporters/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/telemetry/facade.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/telemetry/noop.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/context.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/decorators.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/exporters.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/integrations/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/integrations/database.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/integrations/sqlalchemy_instrumentation.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/interceptors/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/interceptors/grpc.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/interceptors/http.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/infrastructure/tracing/manager.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/plugins/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/plugins/builtin/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/plugins/builtin/monitoring/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/plugins/builtin/monitoring/plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/plugins/builtin/reporting/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/plugins/builtin/reporting/allure_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/assertions/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/assertions/helper.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/assertions/json_schema.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/assertions/matchers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/assertions/response.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/builders/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/builders/base.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/factories/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/factories/base.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/factories/examples.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/generators/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/generators/data_generator.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/loaders/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/loaders/base.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/loaders/csv_loader.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/loaders/json_loader.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/loaders/yaml_loader.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/pipeline/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/pipeline/_registry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/pipeline/context.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/pipeline/dataset.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/pipeline/loader.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/pipeline/reporter.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/data/pipeline/resolver.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/debugging/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/debugging/console.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/decorators/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/decorators/actions_class.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/decorators/api_class.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/decorators/service_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/decorators/ui_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/allure.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/auth.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/cleanup.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/core.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/debugging.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/http_recorder.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/message_queue.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/metrics.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/monitoring.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/fixtures/ui.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/mocking/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/mocking/database_mock.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/mocking/http_mock.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/mocking/redis_mock.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/mocking/time_mock.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/plugins/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/plugins/api_autodiscovery.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/plugins/data_pipeline.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/plugins/debug.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/plugins/env_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/plugins/logging_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/plugins/markers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/reporting/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/reporting/allure/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/reporting/allure/helper.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/src/df_test_framework/testing/reporting/allure/observer.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/README.md +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/bootstrap/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/bootstrap/test_bootstrap.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/bootstrap/test_providers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/bootstrap/test_runtime.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/graphql/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/graphql/test_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/graphql/test_middleware.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/graphql/test_models.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/graphql/test_query_builder.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/grpc/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/grpc/test_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/grpc/test_middleware.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/grpc/test_models.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/auth/signature/test_strategies.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/core/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/core/test_multipart.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/core/test_request.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/core/test_response.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/middleware/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/middleware/test_factory.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/middleware/test_logging.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/rest/test_async_base_api.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/rest/test_async_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/rest/test_auth_control.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/rest/test_base_api.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/rest/test_factory.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/clients/http/rest/test_http_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/databases/redis/test_async_redis.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/databases/redis/test_redis_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/databases/test_async_database.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/databases/test_database.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/databases/test_database_factory.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/databases/test_query_builder.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/databases/test_repositories.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/databases/test_uow.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/drivers/web/playwright/test_async_browser_pool.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/drivers/web/test_async_ui.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/drivers/web/test_modern_ui.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/messengers/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/messengers/test_kafka_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/messengers/test_rabbitmq_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/messengers/test_rocketmq_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/storages/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/storages/test_local_file.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/storages/test_oss.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/capabilities/storages/test_s3.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/cli/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/cli/test_env_cmd.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/cli/test_generate_cmd.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/cli/test_init_cmd.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/cli/test_interactive_cmd.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/cli/test_main.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/cli/test_utils.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/conftest.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/protocols/test_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/protocols/test_event.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/protocols/test_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/protocols/test_repository.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/protocols/test_telemetry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/test_context.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/test_decorators.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/test_event_types.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/test_events.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/test_middleware.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/core/test_types.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/config/test_loader.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/config/test_middleware_schema.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/context/test_carriers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/events/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/events/test_bus.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/metrics/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/metrics/test_decorators.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/metrics/test_manager.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/metrics/test_observer.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/metrics/test_performance.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/metrics/test_registry.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/metrics/test_types.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/plugins/test_manager.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/resilience/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/resilience/test_circuit_breaker.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/sanitize/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/sanitize/test_service.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/telemetry/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/telemetry/test_facade.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/telemetry/test_noop.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/test_bootstrap.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/test_helpers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/test_pipeline.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/test_runtime.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/test_settings.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/test_sources.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/tracing/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/tracing/test_context.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/tracing/test_decorators.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/tracing/test_exporters.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/tracing/test_integrations.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/tracing/test_interceptors.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/infrastructure/tracing/test_manager.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/integration/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/integration/test_config_environment.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/integration/test_event_observability.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/integration/test_factory_assertions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/integration/test_middleware_chain.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/migration/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/migration/test_v3_13_to_v3_14_examples.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/plugins/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/plugins/builtin/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/plugins/builtin/monitoring/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/plugins/builtin/monitoring/test_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/test_json_to_model_generator.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/assertions/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/assertions/test_json_schema.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/assertions/test_matchers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/data/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/data/pipeline/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/data/pipeline/test_pipeline.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/data/pipeline/test_pipeline_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/data/test_builders.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/data/test_data_generator.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/data/test_factories.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/debugging/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/debugging/test_console_debug_observer.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/decorators/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/decorators/test_actions_class.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/decorators/test_api_class.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/decorators/test_service_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/decorators/test_ui_client.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_allure_fixture.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_cleanup.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_fixtures_core.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_fixtures_debugging.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_fixtures_message_queue.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_fixtures_monitoring.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_http_recorder.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_monitoring_metrics.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/fixtures/test_ui_fixtures.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/mocking/__init__.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/mocking/test_database_mock.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/mocking/test_http_mock.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/mocking/test_redis_mock.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/mocking/test_time_mock.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/plugins/test_api_autodiscovery.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/plugins/test_debug_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/plugins/test_env_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/plugins/test_logging_plugin.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/plugins/test_markers.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/reporting/test_allure_observer.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/test_allure_helper.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/test_assertions.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/test_data_loaders.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/tests/testing/test_factories_presets.py +0 -0
- {df_test_framework-4.7.2 → df_test_framework-4.7.4}/verify_fixes.py +0 -0
|
@@ -8,8 +8,8 @@ This file provides guidance to Codex (Codex.ai/code) when working with code in t
|
|
|
8
8
|
|
|
9
9
|
**DF Test Framework** - 现代化 Python 测试自动化框架
|
|
10
10
|
|
|
11
|
-
- **版本**: v4.7.
|
|
12
|
-
- **更新时间**: 2026-
|
|
11
|
+
- **版本**: v4.7.4
|
|
12
|
+
- **更新时间**: 2026-06-29
|
|
13
13
|
- **Python**: 3.12+
|
|
14
14
|
- **核心技术栈**: pytest + httpx + Playwright + Pydantic v2 + SQLAlchemy 2.0 + Pluggy
|
|
15
15
|
- **架构**: 五层架构 + 横切关注点(能力层驱动设计)
|
|
@@ -7,6 +7,33 @@
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [4.7.4] - 2026-06-29
|
|
11
|
+
|
|
12
|
+
### ✨ 新增
|
|
13
|
+
|
|
14
|
+
- **`OmsReporterPlugin` 嵌入式 scope 路由**:新增 `bind_execution(scope, callback, task_id, execution_id)` / `unbind_execution(scope)`,支持单个常驻插件实例按事件 `scope` 路由到对应执行的上报回调。嵌入方(如 OMS 测试平台)可一次 Bootstrap、多次执行复用,无需每次执行重建插件 + Bootstrap,多执行并发互不串扰。旧用法 `OmsReporterPlugin(callback, task_id, execution_id)` 完全向后兼容(构造即绑定一个作用域无关的默认上报目标)。
|
|
15
|
+
|
|
16
|
+
**详细内容**: 查看完整发布说明 [v4.7.4](docs/releases/v4.7.4.md)
|
|
17
|
+
|
|
18
|
+
## [4.7.3] - 2026-05-27
|
|
19
|
+
|
|
20
|
+
### 💥 破坏性变更
|
|
21
|
+
|
|
22
|
+
- **`LoggingConfig.use_utc` 已移除**:替换为 `timestamp: Literal["utc", "local"]`(默认 `"local"`)。
|
|
23
|
+
迁移:`use_utc: true` → `timestamp: utc`,`use_utc: false` 或未配置 → 无需操作(新默认即 local);
|
|
24
|
+
环境变量:`LOGGING__USE_UTC=true` → `LOGGING__TIMESTAMP=utc`
|
|
25
|
+
|
|
26
|
+
### ✨ 新增
|
|
27
|
+
|
|
28
|
+
- **`LoggingConfig.timestamp`**:时区策略字段,`"local"`(默认)输出 `2026-05-27T16:30:45.123+08:00`,`"utc"` 输出 `2026-05-27T08:30:45.123Z`
|
|
29
|
+
|
|
30
|
+
### 🔧 改进
|
|
31
|
+
|
|
32
|
+
- **日志时间戳统一 RFC 3339 毫秒格式**:所有 handler(控制台 / 文件)共享同一 processor 链,时间戳全局一致;自定义 `_make_timestamper` 替代 structlog 内置 `TimeStamper`,精确控制毫秒精度与时区格式
|
|
33
|
+
- **`ExtraAdder` 并入共享 processor 链**:原先仅在 `foreign_pre_chain` 中,现在 structlog 和第三方日志使用同一套处理器,消除 `foreign_pre_chain` 独立维护
|
|
34
|
+
|
|
35
|
+
**详细内容**: 查看完整发布说明 [v4.7.3](docs/releases/v4.7.3.md)
|
|
36
|
+
|
|
10
37
|
## [4.7.2] - 2026-05-26
|
|
11
38
|
|
|
12
39
|
### ✨ 新增
|
|
@@ -8,8 +8,8 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|
|
8
8
|
|
|
9
9
|
**DF Test Framework** - 现代化 Python 测试自动化框架
|
|
10
10
|
|
|
11
|
-
- **版本**: v4.7.
|
|
12
|
-
- **更新时间**: 2026-
|
|
11
|
+
- **版本**: v4.7.4
|
|
12
|
+
- **更新时间**: 2026-06-29
|
|
13
13
|
- **Python**: 3.12+
|
|
14
14
|
- **核心技术栈**: pytest + httpx + Playwright + Pydantic v2 + SQLAlchemy 2.0 + Pluggy
|
|
15
15
|
- **架构**: 五层架构 + 横切关注点(能力层驱动设计)
|
|
@@ -683,19 +683,25 @@ APP_TEST__DEFAULT_TIMEOUT=600
|
|
|
683
683
|
| 字段 | 类型 | 默认值 | 说明 |
|
|
684
684
|
|-----|------|--------|------|
|
|
685
685
|
| `level` | `Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]` | `"INFO"` | 日志级别 |
|
|
686
|
-
| `format` | `Literal["text", "json"]` | `"text"` |
|
|
687
|
-
| `
|
|
688
|
-
| `
|
|
689
|
-
| `
|
|
686
|
+
| `format` | `Literal["text", "json", "logfmt"]` | `"text"` | 输出格式:text(开发)/ json(生产)/ logfmt(Loki/Prometheus) |
|
|
687
|
+
| `timestamp` | `Literal["utc", "local"]` | `"local"` | 时区策略:local 输出 `2026-05-27T16:30:45.123+08:00`,utc 输出 `2026-05-27T08:30:45.123Z` |
|
|
688
|
+
| `file` | `str \| None` | `None` | 日志文件路径,启用后文件强制使用 JSON 格式 |
|
|
689
|
+
| `rotation` | `str` | `"100 MB"` | 日志轮转大小(如 `"500 MB"`、`"1 GB"`) |
|
|
690
|
+
| `retention` | `str` | `"7 days"` | 日志保留策略(如 `"30 days"`) |
|
|
690
691
|
| `enable_console` | `bool` | `True` | 启用控制台输出 |
|
|
691
|
-
| `
|
|
692
|
+
| `use_orjson` | `bool` | `True` | 使用 orjson 高性能 JSON 序列化(已安装时生效) |
|
|
693
|
+
| `add_callsite` | `bool` | `False` | 添加调用位置信息(文件名、行号、限定函数名) |
|
|
694
|
+
| `third_party_level` | `Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]` | `"WARNING"` | 第三方库日志级别(httpx、faker 等),默认抑制噪音 |
|
|
692
695
|
|
|
693
696
|
**环境变量**:
|
|
694
697
|
```bash
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
698
|
+
LOGGING__LEVEL=DEBUG
|
|
699
|
+
LOGGING__FORMAT=json
|
|
700
|
+
LOGGING__TIMESTAMP=local # local(默认)/ utc
|
|
701
|
+
LOGGING__FILE=logs/test.log
|
|
702
|
+
LOGGING__ENABLE_CONSOLE=true
|
|
703
|
+
LOGGING__ADD_CALLSITE=false
|
|
704
|
+
LOGGING__THIRD_PARTY_LEVEL=WARNING
|
|
699
705
|
```
|
|
700
706
|
|
|
701
707
|
---
|
|
@@ -15,7 +15,7 @@ v3.38.2 版本将日志系统从 **loguru** 迁移到 **structlog**:
|
|
|
15
15
|
|------|-----------------|---------------------|
|
|
16
16
|
| 日志库 | loguru | structlog |
|
|
17
17
|
| pytest 集成 | 需要桥接 | 原生支持(stdlib logging) |
|
|
18
|
-
| 时间格式 | `{time:YYYY-MM-DD HH:mm:ss}` |
|
|
18
|
+
| 时间格式 | `{time:YYYY-MM-DD HH:mm:ss}` | RFC 3339 毫秒 + 显式时区 (`2026-05-27T08:30:45.123Z`) |
|
|
19
19
|
| 配置方式 | `setup_logger()` | `configure_logging()` |
|
|
20
20
|
| 导入方式 | `from loguru import logger` | `get_logger(__name__)` |
|
|
21
21
|
|
|
@@ -25,7 +25,7 @@ v3.38.2 版本将日志系统从 **loguru** 迁移到 **structlog**:
|
|
|
25
25
|
- ✅ **全局配置控制过滤** - YAML `logging.level` 统一控制显示级别(v3.38.7)
|
|
26
26
|
- ✅ **pytest 无缝集成** - ProcessorFormatter 统一格式,无重复输出(v3.38.5)
|
|
27
27
|
- ✅ **两阶段初始化** - 模块加载时即完成 structlog 早期配置(v3.38.6)
|
|
28
|
-
- ✅ **时间格式统一** -
|
|
28
|
+
- ✅ **时间格式统一** - RFC 3339 毫秒 + 显式时区,全局一致(`timestamp: utc/local`)
|
|
29
29
|
- ✅ **结构化日志** - JSON/logfmt 输出,便于日志聚合
|
|
30
30
|
- ✅ **上下文传播** - 自动传播 request_id、user_id 等
|
|
31
31
|
- ✅ **第三方库支持** - PositionalArgumentsFormatter + ExtraAdder(v3.38.5)
|
|
@@ -53,14 +53,14 @@ def test_example():
|
|
|
53
53
|
### 配置日志系统
|
|
54
54
|
|
|
55
55
|
```python
|
|
56
|
+
from df_test_framework.infrastructure.config import LoggingConfig
|
|
56
57
|
from df_test_framework.infrastructure.logging import configure_logging
|
|
57
58
|
|
|
58
|
-
configure_logging(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
)
|
|
59
|
+
configure_logging(LoggingConfig(
|
|
60
|
+
level="INFO",
|
|
61
|
+
format="text", # text / json / logfmt
|
|
62
|
+
# timestamp 默认 local,多时区场景可改为 utc
|
|
63
|
+
))
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
### 在 pytest 中使用
|
|
@@ -100,7 +100,7 @@ def test_with_logging():
|
|
|
100
100
|
│ ├─ PositionalArgumentsFormatter (% 格式化) ← v3.38.5 │
|
|
101
101
|
│ ├─ ExtraAdder (extra 参数) ← v3.38.5 │
|
|
102
102
|
│ ├─ sanitize_sensitive_data (脱敏) │
|
|
103
|
-
│ ├─
|
|
103
|
+
│ ├─ _make_timestamper (RFC 3339 毫秒时间戳) │
|
|
104
104
|
│ ├─ CallsiteParameterAdder (调用位置,可选) │
|
|
105
105
|
│ ├─ _add_trace_info (OpenTelemetry) │
|
|
106
106
|
│ └─ wrap_for_formatter │
|
|
@@ -214,33 +214,34 @@ logging:
|
|
|
214
214
|
### 开发环境配置
|
|
215
215
|
|
|
216
216
|
```python
|
|
217
|
+
from df_test_framework.infrastructure.config import LoggingConfig
|
|
217
218
|
from df_test_framework.infrastructure.logging import configure_logging
|
|
218
219
|
|
|
219
|
-
configure_logging(
|
|
220
|
-
env="dev",
|
|
220
|
+
configure_logging(LoggingConfig(
|
|
221
221
|
level="DEBUG",
|
|
222
|
-
|
|
223
|
-
|
|
222
|
+
format="text",
|
|
223
|
+
timestamp="local", # 本地调试时显示本地时区,带偏移
|
|
224
|
+
))
|
|
224
225
|
```
|
|
225
226
|
|
|
226
227
|
输出示例:
|
|
227
228
|
```
|
|
228
|
-
|
|
229
|
+
2026-05-27T16:30:45.123+08:00 [info ] 用户登录 user_id=123 username=alice
|
|
229
230
|
```
|
|
230
231
|
|
|
231
232
|
### 生产环境配置
|
|
232
233
|
|
|
233
234
|
```python
|
|
234
|
-
configure_logging(
|
|
235
|
-
env="prod",
|
|
235
|
+
configure_logging(LoggingConfig(
|
|
236
236
|
level="INFO",
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
format="json",
|
|
238
|
+
# timestamp 默认 local,可省略
|
|
239
|
+
))
|
|
239
240
|
```
|
|
240
241
|
|
|
241
242
|
输出示例:
|
|
242
243
|
```json
|
|
243
|
-
{"
|
|
244
|
+
{"timestamp": "2026-05-27T16:30:45.123+08:00", "level": "info", "event": "用户登录", "user_id": 123, "username": "alice"}
|
|
244
245
|
```
|
|
245
246
|
|
|
246
247
|
---
|
|
@@ -286,30 +287,30 @@ log_date_format = "%Y-%m-%d %H:%M:%S"
|
|
|
286
287
|
|
|
287
288
|
### 日志输出效果
|
|
288
289
|
|
|
289
|
-
**开发环境 (format: text)**:
|
|
290
|
+
**开发环境 (format: text, timestamp: local)**:
|
|
290
291
|
|
|
291
292
|
```
|
|
292
293
|
-------------------------- live log sessionstart --------------------------
|
|
293
|
-
|
|
294
|
+
2026-05-27T10:27:55.139+08:00 [info] 环境信息已添加到Allure报告 [allure.helper]
|
|
294
295
|
|
|
295
296
|
tests/api/test_example.py::TestExample::test_uow_pattern
|
|
296
297
|
----------------------------- live log setup ------------------------------
|
|
297
|
-
|
|
298
|
+
2026-05-27T10:27:55.451+08:00 [info] 数据库连接已建立 [databases.database]
|
|
298
299
|
PASSED
|
|
299
300
|
---------------------------- live log teardown ----------------------------
|
|
300
|
-
|
|
301
|
+
2026-05-27T10:27:55.479+08:00 [info] UnitOfWork: 数据已回滚 [databases.uow]
|
|
301
302
|
```
|
|
302
303
|
|
|
303
|
-
**生产环境 (format: json)**:
|
|
304
|
+
**生产环境 (format: json, timestamp: local)**:
|
|
304
305
|
|
|
305
306
|
```json
|
|
306
|
-
{"timestamp": "
|
|
307
|
+
{"timestamp": "2026-05-27T10:27:55.139+08:00", "level": "info", "event": "环境信息已添加到Allure报告", "logger": "allure.helper"}
|
|
307
308
|
```
|
|
308
309
|
|
|
309
|
-
**Loki/Prometheus (format: logfmt)**:
|
|
310
|
+
**Loki/Prometheus (format: logfmt, timestamp: local)**:
|
|
310
311
|
|
|
311
312
|
```
|
|
312
|
-
timestamp=
|
|
313
|
+
timestamp=2026-05-27T10:27:55.139+08:00 level=info logger=allure.helper event="环境信息已添加到Allure报告"
|
|
313
314
|
```
|
|
314
315
|
|
|
315
316
|
---
|
|
@@ -403,7 +404,7 @@ log_cli_date_format = "%Y-%m-%d %H:%M:%S"
|
|
|
403
404
|
|
|
404
405
|
**生产环境**:
|
|
405
406
|
```python
|
|
406
|
-
configure_logging(
|
|
407
|
+
configure_logging(LoggingConfig(level="INFO", format="json"))
|
|
407
408
|
```
|
|
408
409
|
|
|
409
410
|
### 3. 结构化日志
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Release Notes 发布说明索引
|
|
2
2
|
|
|
3
|
-
> 当前版本:**v4.7.
|
|
3
|
+
> 当前版本:**v4.7.4** · 最近更新:2026-06-29
|
|
4
4
|
|
|
5
5
|
完整变更摘要见 [CHANGELOG.md](../../CHANGELOG.md)。
|
|
6
6
|
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
| 版本 | 发布日期 | 核心特性 |
|
|
12
12
|
|------|----------|----------|
|
|
13
|
-
| **[v4.7.
|
|
13
|
+
| **[v4.7.4](v4.7.4.md)** ⭐ 当前 | 2026-06-29 | `OmsReporterPlugin` 嵌入式 scope 路由:一次 Bootstrap 多次执行复用,`bind_execution` / `unbind_execution` |
|
|
14
|
+
| **[v4.7.3](v4.7.3.md)** | 2026-05-27 | 日志时间戳标准化:RFC 3339 毫秒 + 显式时区,`use_utc` → `timestamp` |
|
|
15
|
+
| **[v4.7.2](v4.7.2.md)** | 2026-05-26 | 脚手架 `flows/` 目录 + 文档结构补强 + pytest addopts 收敛 |
|
|
14
16
|
| **[v4.7.1](v4.7.1.md)** | 2026-05-22 | 修复 `_auto_allure_observer` 未取消订阅导致 Allure 重复记录 |
|
|
15
17
|
| **[v4.7.0](v4.7.0.md)** | 2026-05-19 | `RuntimeContext.metadata` + 命名 AsyncDatabase 多数据库注册 |
|
|
16
18
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# v4.7.3 - 日志时间戳标准化
|
|
2
|
+
|
|
3
|
+
**发布日期**: 2026-05-27
|
|
4
|
+
|
|
5
|
+
## 概述
|
|
6
|
+
|
|
7
|
+
本版本对日志时间戳格式做了一次彻底标准化:统一使用 RFC 3339 毫秒精度 + 显式时区,移除了语义不清晰的 `use_utc` 布尔字段,所有 handler 的时间戳策略全局一致。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 破坏性变更
|
|
12
|
+
|
|
13
|
+
### `LoggingConfig.use_utc` 已移除
|
|
14
|
+
|
|
15
|
+
| | 旧版(≤ v4.7.2) | 新版(v4.7.3+) |
|
|
16
|
+
|---|---|---|
|
|
17
|
+
| **YAML** | `use_utc: true` | `timestamp: utc` |
|
|
18
|
+
| **YAML** | `use_utc: false` | `timestamp: local` |
|
|
19
|
+
| **环境变量** | `LOGGING__USE_UTC=true` | `LOGGING__TIMESTAMP=utc` |
|
|
20
|
+
| **Python** | `LoggingConfig(use_utc=True)` | `LoggingConfig(timestamp="utc")` |
|
|
21
|
+
|
|
22
|
+
**迁移方式**:全局搜索 `use_utc` 替换为 `timestamp`,将布尔值改为字符串字面量。
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 新增
|
|
27
|
+
|
|
28
|
+
### `LoggingConfig.timestamp`
|
|
29
|
+
|
|
30
|
+
```yaml
|
|
31
|
+
logging:
|
|
32
|
+
timestamp: local # 默认,输出 2026-05-27T16:30:45.123+08:00
|
|
33
|
+
# timestamp: utc # 多时区团队 / 容器时区未配置时
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
| 值 | 输出示例 | 适用场景 |
|
|
37
|
+
|----|---------|---------|
|
|
38
|
+
| `local`(默认) | `2026-05-27T16:30:45.123+08:00` | 时区统一的团队,日志直接可读 |
|
|
39
|
+
| `utc` | `2026-05-27T08:30:45.123Z` | 多时区团队、容器时区未配置时 |
|
|
40
|
+
|
|
41
|
+
两种模式均严格符合 RFC 3339:带时区、毫秒精度、ISO 8601 分隔符。日志聚合系统(Loki/ES/CloudWatch)对两种格式均能正确解析。
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 改进
|
|
46
|
+
|
|
47
|
+
### 时间戳格式统一
|
|
48
|
+
|
|
49
|
+
**之前**:`format: json` 隐式强制 UTC,`format: text` 输出本地时间但**不含时区偏移**(`2025-12-25 11:35:07.590123`),是数据损坏。
|
|
50
|
+
|
|
51
|
+
**现在**:`timestamp` 与 `format` 完全正交,任意组合均输出带时区的 RFC 3339 毫秒时间戳。
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
format: text + timestamp: utc → 2026-05-27T08:30:45.123Z [info] ...
|
|
55
|
+
format: json + timestamp: local → {"timestamp": "2026-05-27T16:30:45.123+08:00", ...}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 共享 processor 链
|
|
59
|
+
|
|
60
|
+
**之前**:`ExtraAdder` 仅在 `foreign_pre_chain` 中,structlog 和第三方日志维护两套 processor 链。
|
|
61
|
+
|
|
62
|
+
**现在**:统一共享链,所有 handler(控制台 / 文件 / pytest)使用同一套 processor,时间戳策略全局一致,不存在同一次运行中不同 handler 时间格式不同的问题。
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 配置参考
|
|
67
|
+
|
|
68
|
+
```yaml
|
|
69
|
+
# 时区统一团队(默认 local,无需显式配置)
|
|
70
|
+
logging:
|
|
71
|
+
level: INFO
|
|
72
|
+
format: json
|
|
73
|
+
# timestamp: local # 默认值,可省略
|
|
74
|
+
|
|
75
|
+
# 多时区团队 / 容器时区未配置时
|
|
76
|
+
logging:
|
|
77
|
+
timestamp: utc
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# 环境变量
|
|
82
|
+
LOGGING__TIMESTAMP=local # 默认;多时区场景改为 utc
|
|
83
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# v4.7.4 - OmsReporterPlugin 嵌入式 scope 路由
|
|
2
|
+
|
|
3
|
+
**发布日期**: 2026-06-29
|
|
4
|
+
|
|
5
|
+
## 概述
|
|
6
|
+
|
|
7
|
+
本版本让 `OmsReporterPlugin` 支持以**单个常驻实例**服务多次执行:插件全局订阅一次 HTTP 事件,内部按事件的 `scope` 路由到对应执行的上报回调。嵌入方(如 OMS 测试平台)从此可以**一次 Bootstrap、多次执行复用**,不必每次执行都重建插件 + Bootstrap,多执行并发互不串扰。旧用法完全向后兼容。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 新增
|
|
12
|
+
|
|
13
|
+
### `OmsReporterPlugin.bind_execution()` / `unbind_execution()`
|
|
14
|
+
|
|
15
|
+
```python
|
|
16
|
+
from df_test_framework.bootstrap import Bootstrap
|
|
17
|
+
from df_test_framework.plugins.builtin.reporting.oms_reporter_plugin import OmsReporterPlugin
|
|
18
|
+
|
|
19
|
+
# 常驻复用:插件与 Bootstrap 各一次
|
|
20
|
+
plugin = OmsReporterPlugin()
|
|
21
|
+
runtime = Bootstrap().with_plugin(plugin).build().run()
|
|
22
|
+
|
|
23
|
+
# 每次执行前后绑定 / 解绑(scope 通常为 f"exec_{execution_id}")
|
|
24
|
+
scope = f"exec_{execution_id}"
|
|
25
|
+
plugin.bind_execution(scope, callback=send_fn, task_id=task_id, execution_id=execution_id)
|
|
26
|
+
exec_runtime = runtime.with_scope(scope) # 该执行的事件携带此 scope
|
|
27
|
+
try:
|
|
28
|
+
... # 运行步骤,事件按 scope 路由到 send_fn
|
|
29
|
+
finally:
|
|
30
|
+
plugin.unbind_execution(scope)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
| 方法 | 作用 |
|
|
34
|
+
|------|------|
|
|
35
|
+
| `bind_execution(scope, callback, task_id, execution_id)` | 绑定一次执行的上报回调;`scope` 需与 `runtime.with_scope(scope)` 一致 |
|
|
36
|
+
| `unbind_execution(scope)` | 解绑某次执行,释放其上报状态(`step_index` 等) |
|
|
37
|
+
|
|
38
|
+
每个绑定维护独立的 `step_index`,因此并发执行的步骤序号互不干扰。
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 兼容性
|
|
43
|
+
|
|
44
|
+
**完全向后兼容**。旧用法不变:
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
# 单次执行(每次 Bootstrap 一个插件)—— 行为与 v4.7.3 一致
|
|
48
|
+
plugin = OmsReporterPlugin(callback=send_fn, task_id="t1", execution_id="e1")
|
|
49
|
+
runtime = Bootstrap().with_plugin(plugin).build().run()
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
构造时传入 `callback/task_id/execution_id` 即绑定一个**作用域无关的默认上报目标**:事件无论是否带 `scope` 都会上报到它,与旧版每次 Bootstrap 独立插件的语义一致。
|
|
53
|
+
|
|
54
|
+
> 提示:旧用法每次执行仍会 Bootstrap 一次;如需消除该开销,改用 `bind_execution()` 的常驻复用模式。
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 升级方式
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
uv add "df-test-framework[crypto]>=4.7.4"
|
|
62
|
+
# 或
|
|
63
|
+
pip install -U "df-test-framework[crypto]>=4.7.4"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
无需修改现有代码;需要常驻复用时按上文改为 `bind_execution()` / `unbind_execution()`。
|
|
@@ -174,7 +174,7 @@ observability:
|
|
|
174
174
|
logging:
|
|
175
175
|
level: INFO
|
|
176
176
|
format: text # text(开发)或 json(生产)
|
|
177
|
-
#
|
|
177
|
+
# timestamp: utc # 需要 UTC 时可显式配置,默认 local
|
|
178
178
|
# add_callsite: false # 调试时启用,添加文件名/函数名/行号
|
|
179
179
|
|
|
180
180
|
# ============================================================
|
|
@@ -269,7 +269,7 @@ observability:
|
|
|
269
269
|
logging:
|
|
270
270
|
level: INFO
|
|
271
271
|
format: text # text(开发)或 json(生产)
|
|
272
|
-
#
|
|
272
|
+
# timestamp: utc # 需要 UTC 时可显式配置,默认 local
|
|
273
273
|
# add_callsite: false # 调试时启用,添加文件名/函数名/行号
|
|
274
274
|
|
|
275
275
|
# ============================================================
|
|
@@ -452,7 +452,7 @@ observability:
|
|
|
452
452
|
logging:
|
|
453
453
|
level: INFO
|
|
454
454
|
format: text # text(开发)或 json(生产)
|
|
455
|
-
#
|
|
455
|
+
# timestamp: utc # 需要 UTC 时可显式配置,默认 local
|
|
456
456
|
# add_callsite: false # 调试时启用,添加文件名/函数名/行号
|
|
457
457
|
|
|
458
458
|
# ============================================================
|
|
@@ -610,7 +610,7 @@ http:
|
|
|
610
610
|
logging:
|
|
611
611
|
level: INFO
|
|
612
612
|
format: json # 预发布环境使用 JSON 格式
|
|
613
|
-
|
|
613
|
+
timestamp: local # 需要 UTC 时显式配置,默认 local
|
|
614
614
|
# 脱敏默认启用,无需配置
|
|
615
615
|
|
|
616
616
|
observability:
|
|
@@ -653,7 +653,7 @@ http:
|
|
|
653
653
|
logging:
|
|
654
654
|
level: WARNING # 生产环境只记录警告及以上
|
|
655
655
|
format: json # 生产环境使用 JSON 格式
|
|
656
|
-
|
|
656
|
+
timestamp: local # 需要 UTC 时显式配置,默认 local
|
|
657
657
|
file: logs/test.log # 日志文件
|
|
658
658
|
rotation: "500 MB" # 日志轮转
|
|
659
659
|
retention: "30 days" # 日志保留
|
|
@@ -846,7 +846,7 @@ OBSERVABILITY__ALLURE_RECORDING=true
|
|
|
846
846
|
# ============================================================
|
|
847
847
|
LOGGING__LEVEL=INFO
|
|
848
848
|
LOGGING__FORMAT=text
|
|
849
|
-
|
|
849
|
+
LOGGING__TIMESTAMP=local # 需要 UTC 时改为 utc,默认 local
|
|
850
850
|
# LOGGING__ADD_CALLSITE=false # 调试时启用,添加文件名/函数名/行号
|
|
851
851
|
# LOGGING__FILE=logs/app.log # 日志文件路径
|
|
852
852
|
|
|
@@ -949,7 +949,7 @@ HTTP__TIMEOUT=30
|
|
|
949
949
|
|
|
950
950
|
LOGGING__LEVEL=WARNING
|
|
951
951
|
LOGGING__FORMAT=json
|
|
952
|
-
|
|
952
|
+
LOGGING__TIMESTAMP=local # 需要 UTC 时改为 utc,默认 local
|
|
953
953
|
LOGGING__FILE=logs/test.log
|
|
954
954
|
OBSERVABILITY__DEBUG_OUTPUT=false
|
|
955
955
|
# 脱敏默认启用,无需配置
|
|
@@ -212,9 +212,9 @@ class {ProjectName}Settings(FrameworkSettings):
|
|
|
212
212
|
logging: LoggingConfig = Field(
|
|
213
213
|
default_factory=lambda: LoggingConfig(
|
|
214
214
|
level="INFO",
|
|
215
|
-
format="text",
|
|
216
|
-
#
|
|
217
|
-
# add_callsite=False,
|
|
215
|
+
format="text", # text(开发)或 json(生产)
|
|
216
|
+
# timestamp="utc", # 需要 UTC 时可显式配置,默认 local
|
|
217
|
+
# add_callsite=False, # 调试时启用
|
|
218
218
|
),
|
|
219
219
|
description="日志配置"
|
|
220
220
|
)
|
|
@@ -693,9 +693,9 @@ class LoggingConfig(BaseModel):
|
|
|
693
693
|
)
|
|
694
694
|
enable_console: bool = Field(default=True, description="Enable console logging")
|
|
695
695
|
|
|
696
|
-
|
|
697
|
-
default=
|
|
698
|
-
description="
|
|
696
|
+
timestamp: Literal["utc", "local"] = Field(
|
|
697
|
+
default="local",
|
|
698
|
+
description="时间戳时区策略: local(RFC 3339 + 本地偏移,默认) / utc(RFC 3339 + Z)",
|
|
699
699
|
)
|
|
700
700
|
use_orjson: bool = Field(
|
|
701
701
|
default=True,
|