df-test-framework 4.10.1__tar.gz → 4.10.2__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.10.1 → df_test_framework-4.10.2}/.github/workflows/release.yml +1 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.github/workflows/test.yml +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/AGENTS.md +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/CHANGELOG.md +14 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/CLAUDE.md +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/PKG-INFO +1 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/README.md +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/ESSENTIAL_DOCS.md +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/FAQ.md +4 -4
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/README.md +1 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/TEST_EXECUTION_LIFECYCLE.md +1 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/development/RELEASE.md +2 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/development/local-development.md +1 -1
- df_test_framework-4.10.2/docs/guides/config_guide.md +173 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/database_guide.md +1 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/integration-guide.md +4 -4
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/local_debug_quickstart.md +39 -39
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/message_queue.md +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/project-structure-standard.md +3 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/sanitize_guide.md +1 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/scaffold_cli_guide.md +4 -4
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/web-ui-testing.md +8 -8
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/README.md +3 -2
- df_test_framework-4.10.2/docs/releases/v4.10.2.md +57 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/QUICK_REFERENCE.md +1 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/configuration.md +13 -10
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/cross-project-sharing.md +1 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/debugging.md +7 -7
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/examples.md +4 -4
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/nested-settings-guide.md +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/security-best-practices.md +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/pyproject.toml +1 -1
- df_test_framework-4.10.2/scripts/smoke_config_release.py +81 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/__init__.py +1 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/bootstrap/bootstrap.py +7 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/baseline_cmd.py +3 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/cleanup_cmd.py +5 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/doctor_cmd.py +16 -8
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/env.py +26 -68
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/main.py +16 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/__init__.py +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/README.md.j2 +6 -5
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/config/base.yaml.j2 +0 -1
- df_test_framework-4.10.1/src/df_test_framework/cli/scaffold/templates/config/env.local.example.j2 → df_test_framework-4.10.2/src/df_test_framework/cli/scaffold/templates/config/env.test.example.j2 +1 -1
- df_test_framework-4.10.2/src/df_test_framework/cli/scaffold/templates/config/test.local.yaml.example.j2 +8 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/config/test.yaml.j2 +2 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/gitignore.j2 +3 -2
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/docker/Dockerfile.dockerignore +2 -1
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/env_files.py +27 -27
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/settings_enhanced.py +3 -3
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/config/discovery.py +3 -1
- df_test_framework-4.10.2/src/df_test_framework/infrastructure/config/environment.py +21 -0
- df_test_framework-4.10.2/src/df_test_framework/infrastructure/config/loader.py +206 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/config/schema.py +37 -19
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/config/settings.py +30 -20
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/plugins/env_plugin.py +13 -9
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_env_cmd.py +15 -12
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_init_cmd.py +21 -4
- df_test_framework-4.10.2/tests/infrastructure/config/test_environment_layers.py +212 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/config/test_loader.py +5 -5
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/plugins/test_env_plugin.py +8 -9
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/uv.lock +1 -1
- df_test_framework-4.10.1/docs/guides/config_guide.md +0 -644
- df_test_framework-4.10.1/src/df_test_framework/cli/scaffold/templates/config/local.yaml.example.j2 +0 -9
- df_test_framework-4.10.1/src/df_test_framework/infrastructure/config/loader.py +0 -371
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.editorconfig +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.env.example +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.gitattributes +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.github/workflows/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.github/workflows/docs.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.github/workflows/lint.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.github/workflows/scheduled.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.github/workflows/security.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.gitignore +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.gitleaks.toml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.gitleaksignore +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.pre-commit-config.yaml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/.python-version +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/CONTRIBUTING.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/README_PYPI.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/CONTRIBUTOR_GUIDE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/LEARNING_PATH.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/core/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/core/context.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/core/events.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/core/exceptions.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/core/middleware.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/core/protocols.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/core/types.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/api-reference/extensions.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/CODE_STRUCTURE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/DESIGN_STANDARDS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/ARCHITECTURE_V4.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/PLUGIN_SYSTEM_V3.37.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/REFACTORING_PLAN_V3.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/REFACTORING_PLAN_V3_REVISED.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/DI_STRATEGY.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/PREPARE_DATA_DESIGN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/TESTING_MODULE_OPTIMIZATION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/UOW_CLEANUP_ARCHITECTURE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/UOW_REFACTORING_PROPOSAL.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/allure_integration_modes.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/capability_plan_vs_current.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/config-driven-design.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/config-management-analysis.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/eventbus-integration-analysis.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/failure-diagnosis-v2-design.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/future_allure_plugin_plans.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/http-vs-web-comparison.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/observability-debugging-unification.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/provider-pattern-deep-dive.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/tech-debt-cleanup-plan.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/ui-failure-diagnosis-implementation-v3.46.3.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/design/ui-observability-design.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/discussion_1_initial_issues.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/observability-modernization.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/v3_complete_draft.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/v3_final_draft.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/FRAMEWORK_ARCHITECTURE_v3.6.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/OVERVIEW_V3.17.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/V3.14_ENTERPRISE_PLATFORM_DESIGN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/V3.16_LAYER4_BOOTSTRAP_ARCHITECTURE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/V3.17_EVENT_SYSTEM_REDESIGN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/V3_ARCHITECTURE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/V3_IMPLEMENTATION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/overview.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/archive/versions/v2-architecture.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/extension-points.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/failure-diagnosis-hook-example.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/framework-positioning-notes.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/multi-project-reuse.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/national-crypto-design.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/observability-architecture.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/test-type-support.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/ui-design-principles.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/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.10.1 → df_test_framework-4.10.2}/docs/archive/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/ACTION_PLAN_v2.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/AUDIT_VERIFICATION_REPORT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/AUTH_PLACEMENT_ANALYSIS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/CODE_REVIEW_f95e08cd.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/COMPREHENSIVE_FEATURE_AUDIT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/FRAMEWORK_OPTIMIZATION_ANALYSIS_2025.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/PHASE2_COMPARISON_ANALYSIS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/PHASE2_COMPLETION_REPORT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/PHASE2_SUMMARY.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis/V3_REFACTORING_COMPLETE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis_2025/ALLURE_HTTP_LOGGING_ISSUE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis_2025/ALLURE_INTEGRATION_CHECK_REPORT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis_2025/ALLURE_INTEGRATION_DESIGN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis_2025/ALLURE_INTEGRATION_SUMMARY.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis_2025/ALLURE_ROOT_CAUSE_ANALYSIS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis_2025/CODE_ANALYSIS_AND_PROGRESS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis_2025/COMPREHENSIVE_FRAMEWORK_EVALUATION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/analysis_2025/CONFIG_MODERNIZATION_ANALYSIS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/api-reference/clients.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/api-reference/core.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/api-reference/databases.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/api-reference/drivers.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/api-reference/infrastructure.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/api-reference/patterns.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/api-reference/testing.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/ARCHITECTURE_AUDIT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/FUTURE_ENHANCEMENTS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/IMPLEMENTATION_SUMMARY.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/MIDDLEWARE_V3.14_DESIGN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/ROADMAP_V3.29_ENHANCEMENTS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/SIGNATURE_FRAMEWORK_CAPABILITIES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/TEMPLATE_DEBUG_FIXTURES_ISSUE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/observability-config-design.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/ui-best-practices-2026.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/web-architecture-consistency-design.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/design/web-event-driven-comparison.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/evaluations_2025/DUAL_AI_ANALYSIS_COMPARISON.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/evaluations_2025/FRAMEWORK_ASSESSMENT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/evaluations_2025/FRAMEWORK_BEST_PRACTICES_UPDATE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/evaluations_2025/FRAMEWORK_CAPABILITIES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/evaluations_2025/FRAMEWORK_IMPROVEMENT_PROPOSALS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/guides/async_database_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/guides/async_http_client.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/guides/httpx_advanced_usage.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/guides/logging_configuration.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/guides/logging_pytest_integration.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/guides/modern_logging_best_practices.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/guides/repository_uow_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/guides/testing-development.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/111.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/CONFIG_AND_INTERCEPTOR_INTEGRATION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/DIRECTORY_STRUCTURE_REFACTORING.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/INTERCEPTOR_ARCHITECTURE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/INTERCEPTOR_ARCHITECTURE_VERIFICATION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/INTERCEPTOR_CONFIG_BEST_PRACTICES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/INTERCEPTOR_IDEAL_DESIGN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/INTERCEPTOR_IDEAL_VS_ACTUAL.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/INTERCEPTOR_LOCATION_DECISION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/INTERCEPTOR_NAMING_STANDARDS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/INTERCEPTOR_PERFORMANCE_ANALYSIS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/REFACTORING_IMPLEMENTATION_PLAN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/interceptor_refactoring/REFACTORING_PROGRESS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/issues/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/issues/summary.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/issues/v1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/migration/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/migration/v3.15-to-v3.16.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/migration-v3-to-v4/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/migration-v3-to-v4/v3-to-v4.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/CAPABILITY_LAYER_OPTIMIZATION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/DOC_REORGANIZATION_PLAN_v4.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/REFACTORING_PLAN_v2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/REFACTORING_TASKS_v2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/RFC_MULTIPART_FORM_DATA_SUPPORT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/RFC_MULTIPART_IMPLEMENTATION_CODE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/UV_SYNC_MIGRATION_SUMMARY.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/UV_SYNC_QUICK_START.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/plans/v2-migration-plan-draft.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/CHANGELOG_AUDIT_REPORT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/CODE_QUALITY_FIXES_2025-11-09.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/CORE_DOCS_UPDATE_PLAN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/DOCUMENTATION_AUDIT_REPORT_2025-12-05.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/DOCUMENTATION_CLEANUP_SUMMARY.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/DOCUMENTATION_INDEX.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/DOCUMENTATION_MAINTENANCE_COMPLETE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/DOCUMENTATION_UPDATE_CHECKLIST.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/DOC_UPDATE_SUMMARY.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/IMPROVEMENTS_2025-01-09.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/PHASE3_COMPLETION_REPORT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/PYTHON_VERSION_UNIFICATION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/REFACTORING_COMPLETION_CHECK.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/TEST_CODE_GENERATION_ANALYSIS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/V3.3.0_DOCUMENTATION_UPDATE_SUMMARY.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/V3.3.0_MIGRATION_CHECKLIST.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/V3.5_ALLURE_INTEGRATION_PLAN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/V3.5_DOCUMENTATION_COMPLETE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/V3.5_OBSERVABILITY_FINAL_STATUS.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/V3.5_PHASE2_ACCEPTANCE_REPORT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/V3.5_REFACTOR_PLAN.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/V3.5_REFACTOR_PLAN_REVISED.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/VERIFIED_BEST_PRACTICES_INTEGRATION_COMPLETE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/reports_2025/async_http_client_design.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/skills/write-code.zip +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/skills/write-test.zip +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/user-guide/PHASE3_FEATURES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/user-guide/VERIFIED_BEST_PRACTICES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/user-guide/extensions.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/user-guide/ui-testing.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/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.10.1 → df_test_framework-4.10.2}/docs/archive/v1/FRAMEWORK_DESIGN_PRINCIPLES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/v1/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/v1/UPGRADE_SUMMARY_v1.3.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/v1/architecture.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/v1/best-practices.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/v1/config-integration-guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/v1/optimization-report.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/v1/publishing.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/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.10.1 → df_test_framework-4.10.2}/docs/archive/versions/QUICK_START_V3.14.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/archive/versions/QUICK_START_V3.5.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/ci-templates/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/ci-templates/github-actions.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/ci-templates/gitlab-ci.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/development/BACKLOG.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/development/CAPABILITY_EXTRACTION_RULES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/development/DOCUMENTATION_MAINTENANCE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/development/FRAMEWORK_DEPENDENCY_MANAGEMENT.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/development/UNASYNC_EVALUATION.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/development/VERSION_CONTROL_RULES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/DECIMAL_GUIDE.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/allure_plugin.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/assertions_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/async_api_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/auth_session_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/baseline_pool.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/beyond-framework.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/bootstrap_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/decorators_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/distributed_tracing.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/event_bus_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/extensions.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/factory_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/fixture_chain_pattern.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/fixtures_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/graphql_client.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/grpc_client.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/helpers_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/http_client_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/logging_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/middleware_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/mocking.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/monitoring_plugin.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/naming_standard.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/national-crypto.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/openapi_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/plugin_hooks_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/plugins_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/prometheus_metrics.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/redis_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/resilience_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/service_client_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/storage.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/telemetry_guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/test_data.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/test_data_cleanup.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/test_data_pipeline_design.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.0.0-alpha.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.1.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.10.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.11.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.11.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.12.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.12.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.13.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.14.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.14.0_completion_report.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.14.0_implementation_complete.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.16.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.17.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.17.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.17.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.18.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.18.1-bugfix.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.18.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.19.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.2.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.20.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.21.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.22.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.22.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.23.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.24.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.25.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.26.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.27.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.28.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.28.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.29.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.3.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.30.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.31.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.32.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.33.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.34.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.34.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.35.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.35.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.35.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.35.3.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.35.4.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.35.5.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.35.6.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.35.7.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.36.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.36.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.37.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.38.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.38.10.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.38.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.38.4.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.38.5.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.38.7.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.38.8.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.38.9.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.39.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.39.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.4.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.40.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.41.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.41.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.42.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.43.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.44.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.45.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.46.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.46.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.46.3.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.5.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.6.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.6.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.6.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.7.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.8.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v3.9.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.0.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.0.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.0.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.0.3.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.0.4.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.1.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.1.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.1.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.10.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.10.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.2.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.2.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.2.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.3.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.3.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.4.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.4.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.4.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.4.3.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.4.4.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.5.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.6.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.6.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.7.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.7.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.7.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.7.3.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.7.4.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.7.5.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.8.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.8.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.0.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.1.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.10.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.11.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.12.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.13.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.14.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.15.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.16.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.17.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.18.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.19.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.2.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.20.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.21.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.22.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.23.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.3.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.4.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.5.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.6.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.7.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.8.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/releases/v4.9.9.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/troubleshooting/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/troubleshooting/common-errors.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/troubleshooting/debugging-guide.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/BEST_PRACTICES.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/QUICK_START.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/USER_MANUAL.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/ci-cd.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/code-generation.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/user-guide/multi-repo.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/01-basic/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/01-basic/database_operations.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/01-basic/http_client_usage.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/01-basic/redis_cache.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/01-basic/storage_usage.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/02-bootstrap/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/02-bootstrap/custom_providers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/02-bootstrap/custom_settings.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/02-bootstrap/minimal_bootstrap.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/02-bootstrap/with_extensions.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/03-testing/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/03-testing/conftest.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/03-testing/test_api.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/03-testing/test_database.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/03-testing/test_with_fixtures.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/04-patterns/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/04-patterns/builder_pattern.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/04-patterns/combined_patterns.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/04-patterns/repository_pattern.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/05-extensions/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/05-extensions/allure_enhancement_extension.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/05-extensions/custom_extension.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/05-extensions/data_factory_extension.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/05-extensions/environment_validator_extension.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/05-extensions/monitoring_extension.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/05-extensions/mq_monitor_extension.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/05-extensions/notification_extension.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/06-ui-testing/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/06-ui-testing/basic_ui_test.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/06-ui-testing/conftest.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/06-ui-testing/page_object_example.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/docker-compose-kafka.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/docker-compose-rabbitmq.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/docker-compose-rocketmq.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/kafka_basic.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/kafka_ssl.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/rabbitmq_basic.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/rabbitmq_topic.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/rocketmq-broker.conf +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-message-queue/rocketmq_basic.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-v35-features/01_configurable_interceptors.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-v35-features/02_profile_configuration.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-v35-features/03_runtime_overrides.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-v35-features/04_observability.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/07-v35-features/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/08-v37-features/01_unit_of_work_basics.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/08-v37-features/02_repository_v37.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/08-v37-features/03_auto_rollback_testing.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/08-v37-features/04_multi_repository_transactions.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/08-v37-features/05_project_uow.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/08-v37-features/06_exception_handling_with_uow.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/08-v37-features/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/examples/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/scripts/bump_version.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/scripts/check_release.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/scripts/fetch_swagger.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/scripts/security-scan.bat +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/scripts/security-scan.sh +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/bootstrap/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/bootstrap/providers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/bootstrap/runtime.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/middleware/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/middleware/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/middleware/event_publisher.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/middleware/logging.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/middleware/retry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/models.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/graphql/query_builder.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/middleware/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/middleware/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/middleware/event_publisher.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/middleware/logging.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/middleware/metadata.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/middleware/retry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/middleware/timing.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/grpc/models.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/core/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/core/request.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/core/response.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/middleware/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/middleware/auth.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/middleware/event_publisher.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/middleware/factory.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/middleware/logging.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/middleware/retry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/middleware/signature.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/middleware/telemetry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/factory.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/httpx/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/httpx/async_base_api.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/httpx/async_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/httpx/base_api.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/httpx/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/httpx/contract.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/clients/http/rest/protocols.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/async_database.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/database.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/factory.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/query_builder.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/redis/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/redis/async_redis.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/redis/redis_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/repositories/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/repositories/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/repositories/query_spec.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/sql_builder.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/databases/uow.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/_event_utils.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/app_actions.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/async_app_actions.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/factory.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/playwright/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/playwright/async_browser.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/playwright/async_browser_pool.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/playwright/async_page.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/playwright/browser.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/playwright/component.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/playwright/locator.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/playwright/page.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/protocols.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/drivers/web/toolkit.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/engines/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/engines/batch/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/engines/batch/spark/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/engines/olap/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/engines/stream/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/engines/stream/flink/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/pubsub/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/kafka/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/kafka/async_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/kafka/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/kafka/config.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/async_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/config.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/rocketmq/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/rocketmq/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/messengers/queue/rocketmq/config.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/blob/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/file/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/file/local/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/file/local/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/file/local/config.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/object/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/object/oss/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/object/oss/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/object/oss/config.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/object/s3/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/object/s3/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/capabilities/storages/object/s3/config.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/__main__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/codegen_utils.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/cicd.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/generate_cmd.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/init_cmd.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/commands/interactive.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/generators/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/generators/case_generator.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/generators/json_to_model.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/generators/openapi_generator.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/generators/openapi_parser.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/editorconfig.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/gitattributes.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/pyproject.toml.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/actions_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/apis_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/cases_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/clients_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/config_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/constants_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/example_actions.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/example_api.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/example_case.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/example_page.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/fixtures_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/http_clients.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/models_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/naming.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/pages_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/pkg_init.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/settings.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/src/ui_clients.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/tests/conftest.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/tests/example_cases.yaml.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/tests/test_example_api.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/tests/test_example_ui.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/scaffold/templates/tests/test_naming.py.j2 +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/.github/workflows/release.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/.github/workflows/scheduled.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/.github/workflows/test-full.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/.github/workflows/test.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/.gitlab-ci.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/Jenkinsfile +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/docker/Dockerfile +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/cicd/docker/docker-compose.yml +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/actions.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/api_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/builder.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/flow.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/graphql_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/page.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/redis_example.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/repository.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/test.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/test_complete.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/cli/templates/generators/test_graphql.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/context/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/context/execution.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/context/propagation.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/decorators.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/cache.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/database.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/graphql.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/grpc.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/http.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/messaging.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/storage.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/test_lifecycle.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/events/ui.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/exceptions.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/middleware/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/middleware/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/middleware/chain.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/middleware/decorator.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/middleware/protocol.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/models/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/models/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/protocols/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/protocols/client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/protocols/event.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/protocols/plugin.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/protocols/repository.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/protocols/telemetry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/core/types.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/config/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/config/middleware_schema.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/config/pipeline.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/config/sources.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/context/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/context/carriers/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/context/carriers/grpc.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/context/carriers/http.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/context/carriers/mq.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/crypto/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/crypto/_common.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/crypto/aes.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/crypto/sm2.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/crypto/sm3.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/crypto/sm4.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/events/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/events/bus.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/events/handlers/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/helpers/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/helpers/crypto.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/helpers/hash.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/helpers/national_crypto.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/helpers/network.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/helpers/signature.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/logging/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/logging/config.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/logging/interface.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/logging/logger.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/logging/observability.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/metrics/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/metrics/decorators.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/metrics/manager.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/metrics/observer.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/metrics/performance.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/metrics/registry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/metrics/types.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/plugins/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/plugins/hooks.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/plugins/manager.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/resilience/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/resilience/circuit_breaker.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/sanitize/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/sanitize/service.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/telemetry/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/telemetry/exporters/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/telemetry/facade.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/telemetry/noop.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/context.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/decorators.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/exporters.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/integrations/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/integrations/database.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/integrations/sqlalchemy_instrumentation.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/interceptors/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/interceptors/grpc.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/interceptors/http.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/infrastructure/tracing/manager.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/plugins/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/plugins/builtin/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/plugins/builtin/monitoring/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/plugins/builtin/monitoring/plugin.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/assertions/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/assertions/envelope.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/assertions/helper.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/assertions/json_schema.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/assertions/matchers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/assertions/response.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/assertions/waiting.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/baseline.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/builders/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/builders/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/factories/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/factories/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/factories/examples.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/generators/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/generators/data_generator.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/loaders/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/loaders/base.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/loaders/csv_loader.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/loaders/json_loader.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/loaders/yaml_loader.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/naming/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/naming/guards.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/naming/keys.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/naming/registry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/naming/standard.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/pipeline/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/pipeline/_registry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/pipeline/context.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/pipeline/dataset.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/pipeline/loader.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/pipeline/reporter.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/data/pipeline/resolver.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/debugging/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/debugging/console.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/decorators/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/decorators/actions_class.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/decorators/api_class.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/decorators/service_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/decorators/ui_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/execution/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/execution/concurrency.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/execution/gates.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/allure.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/auth.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/cleanup.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/core.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/debugging.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/http_recorder.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/message_queue.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/metrics.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/monitoring.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/fixtures/ui.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/mocking/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/mocking/database_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/mocking/http_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/mocking/page_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/mocking/redis_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/mocking/time_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/plugins/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/plugins/accessors.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/plugins/api_autodiscovery.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/plugins/data_pipeline.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/plugins/debug.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/plugins/logging_plugin.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/plugins/markers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/reporting/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/reporting/allure/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/reporting/allure/helper.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/src/df_test_framework/testing/reporting/allure/observer.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/README.md +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/bootstrap/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/bootstrap/test_bootstrap.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/bootstrap/test_df_providers_chain.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/bootstrap/test_plugin_middlewares.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/bootstrap/test_providers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/bootstrap/test_runtime.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/graphql/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/graphql/test_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/graphql/test_middleware.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/graphql/test_models.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/graphql/test_query_builder.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/grpc/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/grpc/test_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/grpc/test_middleware.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/grpc/test_models.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/auth/signature/test_strategies.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/core/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/core/test_multipart.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/core/test_request.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/core/test_response.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/middleware/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/middleware/test_event_publisher.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/middleware/test_factory.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/middleware/test_logging.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/middleware/test_otel_tracing.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/rest/test_async_base_api.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/rest/test_async_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/rest/test_auth_control.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/rest/test_base_api.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/rest/test_contract.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/rest/test_factory.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/clients/http/rest/test_http_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/redis/test_async_redis.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/redis/test_redis_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/test_async_database.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/test_database.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/test_database_factory.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/test_dialect_compilation.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/test_query_builder.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/test_repositories.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/databases/test_uow.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/drivers/web/playwright/test_async_browser_pool.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/drivers/web/test_async_ui.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/drivers/web/test_modern_ui.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/drivers/web/test_toolkit.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/messengers/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/messengers/test_kafka_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/messengers/test_mq_contract.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/messengers/test_rabbitmq_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/messengers/test_rocketmq_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/storages/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/storages/test_local_file.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/storages/test_oss.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/storages/test_s3.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/capabilities/test_dual_track_parity.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/src/demo_proj/apis/__init__.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/src/demo_proj/apis/ding_dan_guan_li_api.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/src/demo_proj/models/__init__.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/src/demo_proj/models/base.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/src/demo_proj/models/requests/__init__.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/src/demo_proj/models/requests/ding_dan_guan_li.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/src/demo_proj/models/responses/__init__.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/src/demo_proj/models/responses/ding_dan_guan_li.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/golden/openapi/tests/api/test_ding_dan_guan_li_api.py.txt +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_baseline_cmd.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_case_generator.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_cleanup_cmd.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_doctor_cmd.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_gen_page_flow.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_generate_cmd.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_interactive_cmd.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_main.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_openapi_golden.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/cli/test_utils.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/conftest.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/golden/event_schema.json +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/protocols/test_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/protocols/test_event.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/protocols/test_plugin.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/protocols/test_repository.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/protocols/test_telemetry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_context.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_decorators.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_event_publisher_coverage.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_event_schema_contract.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_event_types.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_events.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_layer_dependencies.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_middleware.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/core/test_types.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/config/test_discovery.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/config/test_middleware_schema.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/context/test_carriers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/events/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/events/test_bus.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/metrics/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/metrics/test_decorators.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/metrics/test_manager.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/metrics/test_observer.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/metrics/test_performance.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/metrics/test_registry.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/metrics/test_types.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/plugins/test_manager.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/resilience/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/resilience/test_circuit_breaker.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/sanitize/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/sanitize/test_service.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/telemetry/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/telemetry/test_facade.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/telemetry/test_noop.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_bootstrap.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_crypto.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_crypto_aes.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_crypto_imports.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_crypto_interop.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_helpers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_logging.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_national_crypto_helpers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_observability_observer.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_pipeline.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_runtime.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_settings.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/test_sources.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/tracing/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/tracing/test_context.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/tracing/test_decorators.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/tracing/test_exporters.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/tracing/test_integrations.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/tracing/test_interceptors.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/infrastructure/tracing/test_manager.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/integration/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/integration/test_config_environment.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/integration/test_event_observability.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/integration/test_factory_assertions.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/integration/test_middleware_chain.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/migration/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/migration/test_v3_13_to_v3_14_examples.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/plugins/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/plugins/builtin/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/plugins/builtin/monitoring/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/plugins/builtin/monitoring/test_plugin.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/test_docs_imports.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/test_docs_links.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/test_json_to_model_generator.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/test_lazy_imports.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/test_release_validation.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/test_version_consistency.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/assertions/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/assertions/test_json_schema.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/assertions/test_matchers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/assertions/test_waiting.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/pipeline/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/pipeline/test_pipeline.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/pipeline/test_pipeline_plugin.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/test_baseline.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/test_builders.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/test_data_generator.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/test_factories.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/test_naming.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/test_naming_guards.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/test_naming_keys.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/data/test_naming_standard.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/debugging/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/debugging/test_console_debug_observer.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/decorators/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/decorators/test_actions_class.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/decorators/test_api_class.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/decorators/test_service_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/decorators/test_ui_client.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_allure_fixture.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_cleanup.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_cleanup_scopes_integration.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_fixtures_core.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_fixtures_debugging.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_fixtures_message_queue.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_fixtures_monitoring.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_http_recorder.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_lifecycle_hooks.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_monitoring_metrics.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_plugin_lifecycle_integration.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_ui_fixtures.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/fixtures/test_ui_tracing.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/mocking/__init__.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/mocking/test_database_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/mocking/test_http_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/mocking/test_redis_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/mocking/test_time_mock.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/plugins/test_api_autodiscovery.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/plugins/test_debug_plugin.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/plugins/test_logging_plugin.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/plugins/test_markers.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/reporting/test_allure_observer.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/test_allure_helper.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/test_assertions.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/test_data_loaders.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/test_factories_presets.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/test_gates_concurrency.py +0 -0
- {df_test_framework-4.10.1 → df_test_framework-4.10.2}/tests/testing/test_page_mock_auth_state.py +0 -0
|
@@ -113,6 +113,7 @@ jobs:
|
|
|
113
113
|
aes = aes_encrypt("验收", key=key, mode="ECB")
|
|
114
114
|
assert aes_decrypt(aes, key=key, mode="ECB") == "验收"
|
|
115
115
|
PY
|
|
116
|
+
"$RUNNER_TEMP/release-smoke/bin/python" -I "$GITHUB_WORKSPACE/scripts/smoke_config_release.py" "$EXPECTED"
|
|
116
117
|
|
|
117
118
|
- name: 上传构建产物
|
|
118
119
|
uses: actions/upload-artifact@v4
|
|
@@ -160,7 +160,7 @@ jobs:
|
|
|
160
160
|
uv run df-test init api-test-project --type api
|
|
161
161
|
test -f api-test-project/pyproject.toml
|
|
162
162
|
test -f api-test-project/config/base.yaml
|
|
163
|
-
test -f api-test-project/config/secrets/.env.
|
|
163
|
+
test -f api-test-project/config/secrets/.env.test.example
|
|
164
164
|
# v4.9.5: 最小骨架 + 类型真裁剪
|
|
165
165
|
test -f api-test-project/src/api_test_project/apis/example_api.py
|
|
166
166
|
test -f api-test-project/src/api_test_project/clients/http_clients.py
|
|
@@ -178,7 +178,7 @@ jobs:
|
|
|
178
178
|
run: |
|
|
179
179
|
uv run df-test init ui-test-project --type ui
|
|
180
180
|
test -f ui-test-project/pyproject.toml
|
|
181
|
-
test -f ui-test-project/config/secrets/.env.
|
|
181
|
+
test -f ui-test-project/config/secrets/.env.test.example
|
|
182
182
|
# v4.9.5: 最小骨架 + 类型真裁剪
|
|
183
183
|
test -f ui-test-project/src/ui_test_project/actions/example_actions.py
|
|
184
184
|
test -f ui-test-project/src/ui_test_project/pages/example_page.py
|
|
@@ -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.10.
|
|
12
|
-
- **更新时间**: 2026-
|
|
11
|
+
- **版本**: v4.10.2
|
|
12
|
+
- **更新时间**: 2026-10-10
|
|
13
13
|
- **Python**: 3.12+
|
|
14
14
|
- **核心技术栈**: pytest + httpx + Playwright + Pydantic v2 + SQLAlchemy 2.0 + Pluggy
|
|
15
15
|
- **架构**: 五层架构 + 横切关注点(能力层驱动设计)
|
|
@@ -7,6 +7,20 @@
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [4.10.2] - 2026-10-10
|
|
11
|
+
|
|
12
|
+
### 配置按环境隔离(破坏性配置迁移,维护者指定 PATCH)
|
|
13
|
+
|
|
14
|
+
- secrets 改用共享 `.env` 和环境专属 `.env.{env}`;本机 YAML 改为
|
|
15
|
+
`{env}.local.yaml`,通过 pytest/CLI `--local` 或 API `local=True` 显式启用。
|
|
16
|
+
- 环境名支持受字符约束的自定义名称,显式环境身份不受文件或进程变量再次覆盖;
|
|
17
|
+
缓存按实际环境与覆盖开关区分,pytest 不再改写进程 ENV。
|
|
18
|
+
- `_extends` 对所有 YAML 层按声明文件目录解析;写坏的 YAML、循环、缺失引用报错,
|
|
19
|
+
普通可选文件缺省仍可只用 base 或默认值运行。
|
|
20
|
+
- 自定义环境可声明 `production: true`,统一生产守卫;prod/production 不可解除保护。
|
|
21
|
+
- 迁移原 test 调试文件为 `test.local.yaml`、`.env.test`,命令改为
|
|
22
|
+
`--env=test --local`;无历史文件告警或 doctor 失败规则。模板、指南和来源诊断同步。
|
|
23
|
+
|
|
10
24
|
## [4.10.1] - 2026-09-29
|
|
11
25
|
|
|
12
26
|
### 发布配套
|
|
@@ -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.10.
|
|
12
|
-
- **更新时间**: 2026-
|
|
11
|
+
- **版本**: v4.10.2
|
|
12
|
+
- **更新时间**: 2026-10-10
|
|
13
13
|
- **Python**: 3.12+
|
|
14
14
|
- **核心技术栈**: pytest + httpx + Playwright + Pydantic v2 + SQLAlchemy 2.0 + Pluggy
|
|
15
15
|
- **架构**: 五层架构 + 横切关注点(能力层驱动设计)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# DF Test Framework
|
|
2
2
|
|
|
3
|
-
> **版本**: v4.10.
|
|
4
|
-
> **更新时间**: 2026-
|
|
3
|
+
> **版本**: v4.10.2
|
|
4
|
+
> **更新时间**: 2026-10-10
|
|
5
5
|
> 简单、强大、可扩展的现代化 Python 测试自动化框架
|
|
6
6
|
|
|
7
7
|
[](https://pypi.org/project/df-test-framework/)
|
|
@@ -179,19 +179,19 @@ my-project/
|
|
|
179
179
|
├── config/
|
|
180
180
|
│ ├── base.yaml # 基础配置(所有环境共享)
|
|
181
181
|
│ ├── environments/
|
|
182
|
-
│ │ ├── local.yaml
|
|
182
|
+
│ │ ├── test.local.yaml # --local 显式启用的本机覆盖
|
|
183
183
|
│ │ ├── dev.yaml # 开发环境
|
|
184
184
|
│ │ ├── test.yaml # 测试环境
|
|
185
185
|
│ │ ├── staging.yaml # 预发布环境
|
|
186
186
|
│ │ └── prod.yaml # 生产环境
|
|
187
187
|
│ └── secrets/ # 敏感配置(已 .gitignore)
|
|
188
|
-
│ └── .env.
|
|
188
|
+
│ └── .env.test # test 环境敏感配置
|
|
189
189
|
└── tests/
|
|
190
190
|
```
|
|
191
191
|
|
|
192
192
|
**配置优先级**(从高到低):
|
|
193
193
|
1. 环境变量(最高优先级)
|
|
194
|
-
2. `config/secrets/.env.
|
|
194
|
+
2. `config/secrets/.env.test`
|
|
195
195
|
3. `config/environments/{env}.yaml`
|
|
196
196
|
4. `config/base.yaml`
|
|
197
197
|
5. `.env` + `.env.{env}`(回退模式)
|
|
@@ -245,7 +245,7 @@ export DB__DATABASE="test_db"
|
|
|
245
245
|
|
|
246
246
|
**敏感信息**(密码):
|
|
247
247
|
```bash
|
|
248
|
-
# config/secrets/.env.
|
|
248
|
+
# config/secrets/.env.test
|
|
249
249
|
DB_PASSWORD=your_secret_password
|
|
250
250
|
```
|
|
251
251
|
|
{df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/architecture/TEST_EXECUTION_LIFECYCLE.md
RENAMED
|
@@ -60,7 +60,7 @@ Hook 执行顺序由 `@pytest.hookimpl(tryfirst/trylast)` 控制:env_plugin
|
|
|
60
60
|
|
|
61
61
|
```
|
|
62
62
|
1. 环境变量(OBSERVABILITY__DEBUG_OUTPUT=true,双下划线嵌套)
|
|
63
|
-
2. Secrets 文件(config/secrets/.env.
|
|
63
|
+
2. Secrets 文件(config/secrets/.env.test)
|
|
64
64
|
3. 环境 YAML(config/environments/{env}.yaml,支持 _extends 继承链)
|
|
65
65
|
4. 基础 YAML(config/base.yaml)
|
|
66
66
|
5. .env 文件(回退模式)
|
|
@@ -34,6 +34,8 @@ uv run --no-sync python scripts/check_release.py X.Y.Z
|
|
|
34
34
|
本地构建用 `uvx --from build pyproject-build --outdir <本次新建空目录>`,
|
|
35
35
|
再用 `uvx twine check <产物文件>` 检查;不要混入历史 dist。
|
|
36
36
|
独立虚拟环境安装 wheel,从仓库外核验版本、CLI 与受影响公共入口。
|
|
37
|
+
配置与三类脚手架可用该环境的 Python 执行
|
|
38
|
+
`-I <仓库绝对路径>/scripts/smoke_config_release.py X.Y.Z` 验收。
|
|
37
39
|
源码测试通过不代表打包清单或 extras 正确。
|
|
38
40
|
|
|
39
41
|
模板变更运行 `tests/cli/test_init_cmd.py`,覆盖三类型结构、AST、导入和生成物 Ruff。
|
|
@@ -282,7 +282,7 @@ def test_problematic_feature(http_client):
|
|
|
282
282
|
pytest tests/ -v -s --log-cli-level=DEBUG
|
|
283
283
|
|
|
284
284
|
# 使用 local 环境配置(包含 DEBUG 日志设置)
|
|
285
|
-
pytest tests/ --env=local --log-cli-level=DEBUG -v -s
|
|
285
|
+
pytest tests/ --env=test --local --log-cli-level=DEBUG -v -s
|
|
286
286
|
```
|
|
287
287
|
|
|
288
288
|
> 详细的日志和调试配置请参考 [本地开发调试快速指南](../guides/local_debug_quickstart.md)
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# 配置系统使用指南
|
|
2
|
+
|
|
3
|
+
配置分为共用默认值、目标环境差异、本机覆盖和凭据。一次环境选择决定对应文件;
|
|
4
|
+
本机 YAML 覆盖通过 `--local` 显式启用。
|
|
5
|
+
|
|
6
|
+
## 目录与职责
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
config/
|
|
10
|
+
├── base.yaml
|
|
11
|
+
├── environments/
|
|
12
|
+
│ ├── test.yaml
|
|
13
|
+
│ ├── staging.yaml
|
|
14
|
+
│ └── test.local.yaml # 可选,不提交
|
|
15
|
+
└── secrets/
|
|
16
|
+
├── .env # 可选,共用值,不提交
|
|
17
|
+
├── .env.test # 可选,test 凭据,不提交
|
|
18
|
+
└── .env.staging # 可选,staging 凭据,不提交
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`base.yaml` 保存超时、重试、日志、客户端注册等共用值;`{env}.yaml` 保存服务地址、
|
|
22
|
+
数据库名和环境开关。`{env}.local.yaml` 保存本机隧道地址、DEBUG、有头浏览器等覆盖。
|
|
23
|
+
凭据文件按环境自动读取,与 `--local` 无关。共享 `secrets/.env` 的值参与所有环境,
|
|
24
|
+
仅放确实通用的项,环境专属写入开关和凭据放 `.env.{env}`。
|
|
25
|
+
|
|
26
|
+
所有文件都可缺省,由已存在的层或模型默认值补齐。写入文件后,语法必须有效。
|
|
27
|
+
`.yaml` 也支持 `.yml`,同名两者并存时选择 `.yaml`。
|
|
28
|
+
|
|
29
|
+
## 运行与选择环境
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
uv run pytest --env=test
|
|
33
|
+
uv run pytest --env=test --local
|
|
34
|
+
uv run pytest --env=staging
|
|
35
|
+
uv run df-test env show --env=test --local
|
|
36
|
+
uv run df-test env validate --env=test --local
|
|
37
|
+
uv run df-test doctor --env=test --local
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
环境选择顺序:显式 CLI/API 参数 → `ENV` → 默认 `test`。
|
|
41
|
+
不使用 `APP_ENV`、`ENVIRONMENT` 选择环境。名称统一小写,允许 1~32 位
|
|
42
|
+
字母、数字、下划线和连字符,以字母或数字开头;如 `uat`、`qa-2` 均合法。
|
|
43
|
+
选定身份后,YAML、dotenv 中的 `env/ENV` 不再改变文件选择或生效环境。
|
|
44
|
+
|
|
45
|
+
本机执行 staging 时身份仍为 staging;真正测试本机部署服务时可以使用 `local` 环境,
|
|
46
|
+
其 `secrets/.env.local` 是合法凭据文件,并非所有环境的共享覆盖。
|
|
47
|
+
|
|
48
|
+
## 合并顺序
|
|
49
|
+
|
|
50
|
+
从低到高:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
模型默认值
|
|
54
|
+
→ base.yaml(含继承)
|
|
55
|
+
→ environments/{env}.yaml(含继承)
|
|
56
|
+
→ environments/{env}.local.yaml(仅 local=True / --local)
|
|
57
|
+
→ secrets/.env
|
|
58
|
+
→ secrets/.env.{env}
|
|
59
|
+
→ 进程环境变量
|
|
60
|
+
→ 程序显式覆盖
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
字典递归合并,列表和标量由后层整体替换。dotenv 采用 pydantic-settings 原生多文件源,
|
|
64
|
+
不会把凭据写入全局 `os.environ`。并行执行不同环境时分别选择对应文件。
|
|
65
|
+
进程环境变量仍具有更高优先级,切换环境时核对终端已有变量。
|
|
66
|
+
|
|
67
|
+
```yaml
|
|
68
|
+
# base.yaml
|
|
69
|
+
http:
|
|
70
|
+
timeout: 30
|
|
71
|
+
logging:
|
|
72
|
+
level: INFO
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```yaml
|
|
76
|
+
# environments/test.yaml
|
|
77
|
+
http:
|
|
78
|
+
base_url: https://test.example.com
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
# environments/test.local.yaml:加 --local 才加载
|
|
83
|
+
web:
|
|
84
|
+
headless: false
|
|
85
|
+
logging:
|
|
86
|
+
level: DEBUG
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
```dotenv
|
|
90
|
+
# secrets/.env.test
|
|
91
|
+
DATABASE__PASSWORD=your-test-password
|
|
92
|
+
BEARER_TOKEN__TOKEN=your-test-token
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
嵌套变量使用双下划线,键名对应 Settings 模型,如 `DATABASE__HOST`、`HTTP__BASE_URL`。
|
|
96
|
+
业务配置在项目 `FrameworkSettings` 子类声明;值放 YAML/环境变量,避免为改默认值重复定义字段。
|
|
97
|
+
|
|
98
|
+
## 配置继承
|
|
99
|
+
|
|
100
|
+
`_extends` 是可选的单父级复用机制,所有 YAML 层一致支持。
|
|
101
|
+
路径相对**写出该声明的文件所在目录**解析,不相对工作目录或配置根目录。
|
|
102
|
+
|
|
103
|
+
```yaml
|
|
104
|
+
# environments/staging.yaml
|
|
105
|
+
_extends: test.yaml
|
|
106
|
+
http:
|
|
107
|
+
base_url: https://staging.example.com
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
父文件先加载,当前文件覆盖。路径可用 `../shared.yaml` 引用配置目录内公共片段,
|
|
111
|
+
解析后的路径须留在配置目录内。不存在的显式引用、循环继承、非映射 YAML、
|
|
112
|
+
无效 `_extends` 类型或 YAML 语法错误会报错,错误包含文件位置而不回显秘密值。
|
|
113
|
+
普通可选文件不存在则跳过。自动本机覆盖无需通过 `_extends` 再继承目标环境。
|
|
114
|
+
|
|
115
|
+
## 程序与平台接入
|
|
116
|
+
|
|
117
|
+
```python
|
|
118
|
+
from df_test_framework import FrameworkSettings, get_settings, get_settings_for_class
|
|
119
|
+
from df_test_framework.infrastructure.config import ConfigLoader, load_config
|
|
120
|
+
|
|
121
|
+
normal = load_config("test")
|
|
122
|
+
debug = load_config("test", local=True)
|
|
123
|
+
loader = ConfigLoader(config_dir="config", settings_class=FrameworkSettings)
|
|
124
|
+
staging = loader.load("staging", local=True)
|
|
125
|
+
cached = get_settings(env="test", local=True)
|
|
126
|
+
custom = get_settings_for_class(FrameworkSettings, env="test", local=True)
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Bootstrap 的 `with_settings(..., profile="test", local=True)` 使用相同规则。
|
|
130
|
+
缓存按实际环境、配置目录和覆盖开关区分;pytest 复用已加载的 Settings。
|
|
131
|
+
修改文件后,长驻进程可调用 `clear_settings_cache()` 或重新建立配置对象。
|
|
132
|
+
|
|
133
|
+
没有 `config/` 目录时,仍支持项目根目录 `.env` + `.env.{env}` 的原生 dotenv 方式;
|
|
134
|
+
这一模式没有 YAML 本机覆盖文件,`local=True` 不增加额外 dotenv 层。
|
|
135
|
+
`FrameworkSettings.for_environment("staging")` 会固定选定环境身份。
|
|
136
|
+
|
|
137
|
+
## 生产环境与诊断
|
|
138
|
+
|
|
139
|
+
`settings.is_prod` 在环境名为 `prod/production` 或 `production: true` 时成立。
|
|
140
|
+
自定义环境如 `live` 可声明 `production: true`;
|
|
141
|
+
`prod` 不能通过 `production: false` 解除保护。
|
|
142
|
+
生产环境禁 debug、禁止在 `CI=true` 中运行,cleanup/baseline 在资源创建前拒绝操作。
|
|
143
|
+
名称匹配类 marker(如 `requires_env`)仍按环境名匹配。
|
|
144
|
+
|
|
145
|
+
`df-test env show/validate`、doctor 和 pytest 报告显示实际环境、覆盖开关及加载文件链。
|
|
146
|
+
来源信息不展示秘密值。缺少环境文件时可使用 base 的完整配置,
|
|
147
|
+
通过来源列表确认实际使用了哪些文件。体检不代替服务连通性或业务验收。
|
|
148
|
+
|
|
149
|
+
## 迁移已有项目
|
|
150
|
+
|
|
151
|
+
原来作为 test 调试覆盖的文件迁移为:
|
|
152
|
+
|
|
153
|
+
| 原文件/命令 | 新文件/命令 |
|
|
154
|
+
|---|---|
|
|
155
|
+
| `config/secrets/.env.local` | `config/secrets/.env.test` |
|
|
156
|
+
| `config/environments/local.yaml` | `config/environments/test.local.yaml` |
|
|
157
|
+
| `pytest --env=local`(原用于调试 test) | `pytest --env=test --local` |
|
|
158
|
+
|
|
159
|
+
删除原本仅用于继承 test 的 `_extends`,保留调试项。实际归属 dev/staging 的文件
|
|
160
|
+
迁往对应环境;不要复制凭据到其他环境。已有继承路径 `environments/test.yaml`
|
|
161
|
+
在环境文件内应改为 `test.yaml`。普通 test 执行不会默认开启调试。
|
|
162
|
+
|
|
163
|
+
```gitignore
|
|
164
|
+
config/environments/*.local.yaml
|
|
165
|
+
config/environments/*.local.yml
|
|
166
|
+
config/secrets/*
|
|
167
|
+
!config/secrets/*.example
|
|
168
|
+
!config/secrets/.gitkeep
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
`df-test init` 生成 `test.local.yaml.example` 与 `.env.test.example`。
|
|
172
|
+
复制前确认目标文件不存在。框架不猜测 `.env.local` 是历史共享文件还是合法 local 环境,
|
|
173
|
+
不因此额外告警或判定 doctor 失败,迁移由项目维护者一次性确认。
|
|
@@ -118,12 +118,12 @@ observability:
|
|
|
118
118
|
debug_output: false
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
-
#### config/environments/local.yaml
|
|
121
|
+
#### config/environments/test.local.yaml
|
|
122
122
|
|
|
123
123
|
```yaml
|
|
124
124
|
# 本地调试配置
|
|
125
125
|
# _extends 表示继承另一个环境配置
|
|
126
|
-
_extends: test
|
|
126
|
+
_extends: test.yaml
|
|
127
127
|
|
|
128
128
|
observability:
|
|
129
129
|
debug_output: true # 本地开启调试输出
|
|
@@ -133,7 +133,7 @@ observability:
|
|
|
133
133
|
|
|
134
134
|
```gitignore
|
|
135
135
|
# 敏感配置(不提交)
|
|
136
|
-
config/environments/local.yaml
|
|
136
|
+
config/environments/test.local.yaml
|
|
137
137
|
config/secrets/
|
|
138
138
|
```
|
|
139
139
|
|
|
@@ -354,7 +354,7 @@ pytest tests/ -m smoke -v
|
|
|
354
354
|
**检查优先级**(从高到低):
|
|
355
355
|
|
|
356
356
|
1. 环境变量
|
|
357
|
-
2. `config/secrets/.env.
|
|
357
|
+
2. `config/secrets/.env.test`
|
|
358
358
|
3. `config/environments/{env}.yaml`
|
|
359
359
|
4. `config/base.yaml`
|
|
360
360
|
5. 代码默认值
|
|
@@ -9,9 +9,8 @@
|
|
|
9
9
|
### 一分钟配置
|
|
10
10
|
|
|
11
11
|
```yaml
|
|
12
|
-
# config/environments/local.yaml
|
|
13
|
-
|
|
14
|
-
env: local
|
|
12
|
+
# config/environments/test.local.yaml
|
|
13
|
+
env: test
|
|
15
14
|
debug: true
|
|
16
15
|
|
|
17
16
|
logging:
|
|
@@ -28,7 +27,7 @@ test:
|
|
|
28
27
|
|
|
29
28
|
```bash
|
|
30
29
|
# 运行测试
|
|
31
|
-
uv run pytest tests/ --env=local --log-cli-level=DEBUG -v
|
|
30
|
+
uv run pytest tests/ --env=test --local --log-cli-level=DEBUG -v
|
|
32
31
|
```
|
|
33
32
|
|
|
34
33
|
---
|
|
@@ -37,12 +36,11 @@ uv run pytest tests/ --env=local --log-cli-level=DEBUG -v
|
|
|
37
36
|
|
|
38
37
|
### 方式 1:YAML 配置文件(推荐)
|
|
39
38
|
|
|
40
|
-
创建 `config/environments/local.yaml`:
|
|
39
|
+
创建 `config/environments/test.local.yaml`:
|
|
41
40
|
|
|
42
41
|
```yaml
|
|
43
|
-
#
|
|
44
|
-
|
|
45
|
-
env: local
|
|
42
|
+
# 通过 --local 叠加 test 环境,不改变目标环境身份
|
|
43
|
+
env: test
|
|
46
44
|
debug: true
|
|
47
45
|
|
|
48
46
|
# 日志配置
|
|
@@ -98,7 +96,7 @@ log_cli_level = "DEBUG"
|
|
|
98
96
|
log_level = "DEBUG"
|
|
99
97
|
|
|
100
98
|
# 默认参数
|
|
101
|
-
addopts = "-v --env=local"
|
|
99
|
+
addopts = "-v --env=test --local"
|
|
102
100
|
```
|
|
103
101
|
|
|
104
102
|
---
|
|
@@ -109,32 +107,32 @@ addopts = "-v --env=local"
|
|
|
109
107
|
|
|
110
108
|
```bash
|
|
111
109
|
# 使用 local 环境运行所有测试
|
|
112
|
-
uv run pytest tests/ --env=local -v
|
|
110
|
+
uv run pytest tests/ --env=test --local -v
|
|
113
111
|
|
|
114
112
|
# 显示 DEBUG 日志
|
|
115
|
-
uv run pytest tests/ --env=local --log-cli-level=DEBUG -v
|
|
113
|
+
uv run pytest tests/ --env=test --local --log-cli-level=DEBUG -v
|
|
116
114
|
|
|
117
115
|
# 显示 print 输出(不捕获)
|
|
118
|
-
uv run pytest tests/ --env=local -v -s
|
|
116
|
+
uv run pytest tests/ --env=test --local -v -s
|
|
119
117
|
|
|
120
118
|
# 组合使用
|
|
121
|
-
uv run pytest tests/ --env=local --log-cli-level=DEBUG -v -s
|
|
119
|
+
uv run pytest tests/ --env=test --local --log-cli-level=DEBUG -v -s
|
|
122
120
|
```
|
|
123
121
|
|
|
124
122
|
### 运行特定测试
|
|
125
123
|
|
|
126
124
|
```bash
|
|
127
125
|
# 运行单个文件
|
|
128
|
-
uv run pytest tests/api/test_user.py --env=local -v
|
|
126
|
+
uv run pytest tests/api/test_user.py --env=test --local -v
|
|
129
127
|
|
|
130
128
|
# 运行单个测试类
|
|
131
|
-
uv run pytest tests/api/test_user.py::TestUserAPI --env=local -v
|
|
129
|
+
uv run pytest tests/api/test_user.py::TestUserAPI --env=test --local -v
|
|
132
130
|
|
|
133
131
|
# 运行单个测试函数
|
|
134
|
-
uv run pytest tests/api/test_user.py::TestUserAPI::test_login --env=local -v
|
|
132
|
+
uv run pytest tests/api/test_user.py::TestUserAPI::test_login --env=test --local -v
|
|
135
133
|
|
|
136
134
|
# 按关键词筛选
|
|
137
|
-
uv run pytest tests/ -k "login or register" --env=local -v
|
|
135
|
+
uv run pytest tests/ -k "login or register" --env=test --local -v
|
|
138
136
|
```
|
|
139
137
|
|
|
140
138
|
### 失败调试
|
|
@@ -147,29 +145,29 @@ uv run pytest tests/ -k "login or register" --env=local -v
|
|
|
147
145
|
|
|
148
146
|
```bash
|
|
149
147
|
# 首次失败即停止
|
|
150
|
-
uv run pytest tests/ --env=local -x -v
|
|
148
|
+
uv run pytest tests/ --env=test --local -x -v
|
|
151
149
|
|
|
152
150
|
# 失败时进入 pdb 调试器
|
|
153
|
-
uv run pytest tests/ --env=local --pdb -v
|
|
151
|
+
uv run pytest tests/ --env=test --local --pdb -v
|
|
154
152
|
|
|
155
153
|
# 失败时进入 pdb,并显示局部变量
|
|
156
|
-
uv run pytest tests/ --env=local --pdb -l -v
|
|
154
|
+
uv run pytest tests/ --env=test --local --pdb -l -v
|
|
157
155
|
|
|
158
156
|
# 只运行上次失败的测试
|
|
159
|
-
uv run pytest tests/ --env=local --lf -v
|
|
157
|
+
uv run pytest tests/ --env=test --local --lf -v
|
|
160
158
|
|
|
161
159
|
# 先运行失败的测试
|
|
162
|
-
uv run pytest tests/ --env=local --ff -v
|
|
160
|
+
uv run pytest tests/ --env=test --local --ff -v
|
|
163
161
|
```
|
|
164
162
|
|
|
165
163
|
### 性能分析
|
|
166
164
|
|
|
167
165
|
```bash
|
|
168
166
|
# 显示最慢的 10 个测试
|
|
169
|
-
uv run pytest tests/ --env=local --durations=10 -v
|
|
167
|
+
uv run pytest tests/ --env=test --local --durations=10 -v
|
|
170
168
|
|
|
171
169
|
# 显示所有测试耗时
|
|
172
|
-
uv run pytest tests/ --env=local --durations=0 -v
|
|
170
|
+
uv run pytest tests/ --env=test --local --durations=0 -v
|
|
173
171
|
```
|
|
174
172
|
|
|
175
173
|
---
|
|
@@ -178,7 +176,7 @@ uv run pytest tests/ --env=local --durations=0 -v
|
|
|
178
176
|
|
|
179
177
|
| 参数 | 作用 | 示例 |
|
|
180
178
|
|------|------|------|
|
|
181
|
-
| `--env=local` |
|
|
179
|
+
| `--env=test --local` | 使用目标环境的本机覆盖 | `--env=test --local` |
|
|
182
180
|
| `--log-cli-level=DEBUG` | 实时显示 DEBUG 日志 | `--log-cli-level=DEBUG` |
|
|
183
181
|
| `-v` / `-vv` | 详细输出 | `-vv` |
|
|
184
182
|
| `-s` | 显示 print 输出 | `-s` |
|
|
@@ -211,7 +209,7 @@ def test_api(http_client):
|
|
|
211
209
|
运行时需要 `-v -s`:
|
|
212
210
|
|
|
213
211
|
```bash
|
|
214
|
-
uv run pytest tests/test_example.py -v -s --env=local
|
|
212
|
+
uv run pytest tests/test_example.py -v -s --env=test --local
|
|
215
213
|
```
|
|
216
214
|
|
|
217
215
|
### 使用 debug_mode fixture
|
|
@@ -227,7 +225,7 @@ def test_with_debug(http_client, debug_mode):
|
|
|
227
225
|
|
|
228
226
|
```bash
|
|
229
227
|
# 全局启用调试输出
|
|
230
|
-
OBSERVABILITY__DEBUG_OUTPUT=true uv run pytest tests/ -v -s --env=local
|
|
228
|
+
OBSERVABILITY__DEBUG_OUTPUT=true uv run pytest tests/ -v -s --env=test --local
|
|
231
229
|
```
|
|
232
230
|
|
|
233
231
|
---
|
|
@@ -249,7 +247,8 @@ OBSERVABILITY__DEBUG_OUTPUT=true uv run pytest tests/ -v -s --env=local
|
|
|
249
247
|
"module": "pytest",
|
|
250
248
|
"args": [
|
|
251
249
|
"${file}",
|
|
252
|
-
"--env=
|
|
250
|
+
"--env=test",
|
|
251
|
+
"--local",
|
|
253
252
|
"--log-cli-level=DEBUG",
|
|
254
253
|
"-v",
|
|
255
254
|
"-s"
|
|
@@ -257,7 +256,7 @@ OBSERVABILITY__DEBUG_OUTPUT=true uv run pytest tests/ -v -s --env=local
|
|
|
257
256
|
"console": "integratedTerminal",
|
|
258
257
|
"justMyCode": false,
|
|
259
258
|
"env": {
|
|
260
|
-
"ENV": "
|
|
259
|
+
"ENV": "test",
|
|
261
260
|
"OBSERVABILITY__DEBUG_OUTPUT": "true"
|
|
262
261
|
}
|
|
263
262
|
},
|
|
@@ -268,7 +267,8 @@ OBSERVABILITY__DEBUG_OUTPUT=true uv run pytest tests/ -v -s --env=local
|
|
|
268
267
|
"module": "pytest",
|
|
269
268
|
"args": [
|
|
270
269
|
"${file}::${selectedText}",
|
|
271
|
-
"--env=
|
|
270
|
+
"--env=test",
|
|
271
|
+
"--local",
|
|
272
272
|
"-v",
|
|
273
273
|
"-s"
|
|
274
274
|
],
|
|
@@ -283,7 +283,7 @@ OBSERVABILITY__DEBUG_OUTPUT=true uv run pytest tests/ -v -s --env=local
|
|
|
283
283
|
|
|
284
284
|
1. **Edit Configurations** → **+** → **pytest**
|
|
285
285
|
2. 设置参数:
|
|
286
|
-
- **Additional Arguments**: `--env=local --log-cli-level=DEBUG -v -s`
|
|
286
|
+
- **Additional Arguments**: `--env=test --local --log-cli-level=DEBUG -v -s`
|
|
287
287
|
- **Environment variables**: `ENV=local;OBSERVABILITY__DEBUG_OUTPUT=true`
|
|
288
288
|
|
|
289
289
|
---
|
|
@@ -375,13 +375,13 @@ def test_with_breakpoint(http_client):
|
|
|
375
375
|
然后运行:
|
|
376
376
|
|
|
377
377
|
```bash
|
|
378
|
-
uv run pytest tests/test_example.py -v -s --env=local
|
|
378
|
+
uv run pytest tests/test_example.py -v -s --env=test --local
|
|
379
379
|
```
|
|
380
380
|
|
|
381
381
|
### Q4: 如何查看 SQL 查询?
|
|
382
382
|
|
|
383
383
|
```yaml
|
|
384
|
-
# config/environments/local.yaml
|
|
384
|
+
# config/environments/test.local.yaml
|
|
385
385
|
logging:
|
|
386
386
|
level: DEBUG # SQLAlchemy 会输出 SQL
|
|
387
387
|
|
|
@@ -394,7 +394,7 @@ logging:
|
|
|
394
394
|
### Q5: 调试时想保留测试数据?
|
|
395
395
|
|
|
396
396
|
```yaml
|
|
397
|
-
# config/environments/local.yaml
|
|
397
|
+
# config/environments/test.local.yaml
|
|
398
398
|
test:
|
|
399
399
|
keep_test_data: true
|
|
400
400
|
```
|
|
@@ -402,7 +402,7 @@ test:
|
|
|
402
402
|
或使用命令行:
|
|
403
403
|
|
|
404
404
|
```bash
|
|
405
|
-
uv run pytest tests/ --env=local --keep-test-data -v
|
|
405
|
+
uv run pytest tests/ --env=test --local --keep-test-data -v
|
|
406
406
|
```
|
|
407
407
|
|
|
408
408
|
---
|
|
@@ -411,16 +411,16 @@ uv run pytest tests/ --env=local --keep-test-data -v
|
|
|
411
411
|
|
|
412
412
|
```bash
|
|
413
413
|
# 1. 使用 local 环境开发
|
|
414
|
-
uv run pytest tests/api/test_user.py --env=local -v
|
|
414
|
+
uv run pytest tests/api/test_user.py --env=test --local -v
|
|
415
415
|
|
|
416
416
|
# 2. 遇到问题,开启 DEBUG 日志
|
|
417
|
-
uv run pytest tests/api/test_user.py --env=local --log-cli-level=DEBUG -v -s
|
|
417
|
+
uv run pytest tests/api/test_user.py --env=test --local --log-cli-level=DEBUG -v -s
|
|
418
418
|
|
|
419
419
|
# 3. 需要断点调试
|
|
420
|
-
uv run pytest tests/api/test_user.py::test_login --env=local --pdb -v -s
|
|
420
|
+
uv run pytest tests/api/test_user.py::test_login --env=test --local --pdb -v -s
|
|
421
421
|
|
|
422
422
|
# 4. 修复后,运行完整测试验证
|
|
423
|
-
uv run pytest tests/ --env=local -v
|
|
423
|
+
uv run pytest tests/ --env=test --local -v
|
|
424
424
|
|
|
425
425
|
# 5. 切换到 CI 环境验证
|
|
426
426
|
uv run pytest tests/ --env=test -v
|
|
@@ -237,7 +237,7 @@ kafka:
|
|
|
237
237
|
# security_protocol: SASL_SSL
|
|
238
238
|
# sasl_mechanism: PLAIN
|
|
239
239
|
# sasl_username: user
|
|
240
|
-
# sasl_password 建议放 config/secrets/.env.
|
|
240
|
+
# sasl_password 建议放 config/secrets/.env.test: KAFKA__SASL_PASSWORD=...
|
|
241
241
|
```
|
|
242
242
|
|
|
243
243
|
**Step 2:conftest.py 导入 fixtures**
|
|
@@ -544,7 +544,7 @@ rabbitmq:
|
|
|
544
544
|
port: 5672
|
|
545
545
|
virtual_host: /
|
|
546
546
|
username: admin
|
|
547
|
-
# password 建议放 config/secrets/.env.
|
|
547
|
+
# password 建议放 config/secrets/.env.test: RABBITMQ__PASSWORD=...
|
|
548
548
|
```
|
|
549
549
|
|
|
550
550
|
**Step 2:conftest.py 导入 fixtures**
|
{df_test_framework-4.10.1 → df_test_framework-4.10.2}/docs/guides/project-structure-standard.md
RENAMED
|
@@ -84,8 +84,9 @@ tests/
|
|
|
84
84
|
```
|
|
85
85
|
config/
|
|
86
86
|
├── base.yaml # 全环境通用(含 http.response_contract、test.naming_registry 等)
|
|
87
|
-
├── environments/{env}.yaml # test/dev/staging/prod(+ local.yaml.example 模板)
|
|
88
|
-
|
|
87
|
+
├── environments/{env}.yaml # test/dev/staging/prod(+ test.local.yaml.example 模板)
|
|
88
|
+
├── environments/{env}.local.yaml # 本机覆盖(--local 显式启用)
|
|
89
|
+
└── secrets/.env.{env} # 敏感项(gitignore;DATABASE__PASSWORD 等 __ 嵌套键)
|
|
89
90
|
```
|
|
90
91
|
|
|
91
92
|
- `scripts/` 只放**薄壳 CLI**(argparse + 调 src 引擎)与**在用工具**
|