df-test-framework 4.10.2__tar.gz → 4.10.3__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.2 → df_test_framework-4.10.3}/.github/workflows/docs.yml +5 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.github/workflows/lint.yml +6 -3
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.github/workflows/release.yml +14 -11
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.github/workflows/scheduled.yml +8 -5
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.github/workflows/security.yml +8 -8
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.github/workflows/test.yml +12 -6
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/AGENTS.md +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/CHANGELOG.md +45 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/CLAUDE.md +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/PKG-INFO +2 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/README.md +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/ESSENTIAL_DOCS.md +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/README.md +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/CODE_STRUCTURE.md +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/multi-project-reuse.md +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/national-crypto-design.md +6 -4
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/test-type-support.md +5 -5
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/development/BACKLOG.md +2 -0
- df_test_framework-4.10.3/docs/development/http-client-interface-plan.md +134 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/http_client_guide.md +75 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/integration-guide.md +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/middleware_guide.md +4 -4
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/national-crypto.md +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/service_client_guide.md +4 -4
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/web-ui-testing.md +3 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/README.md +3 -2
- df_test_framework-4.10.3/docs/releases/v4.10.3.md +66 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/QUICK_REFERENCE.md +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/QUICK_START.md +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/configuration.md +7 -7
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/examples.md +10 -10
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/nested-settings-guide.md +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/02-bootstrap/with_extensions.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/05-extensions/custom_extension.py +5 -5
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-v35-features/02_profile_configuration.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-v35-features/03_runtime_overrides.py +15 -15
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-v35-features/README.md +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/pyproject.toml +2 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/__init__.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/bootstrap/providers.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/core/request.py +39 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/middleware/__init__.py +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/middleware/factory.py +2 -2
- df_test_framework-4.10.3/src/df_test_framework/capabilities/clients/http/middleware/retry.py +135 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/factory.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/httpx/async_client.py +41 -19
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/httpx/client.py +40 -21
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/env.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/config/base.yaml.j2 +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/.github/workflows/release.yml +13 -10
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/.github/workflows/scheduled.yml +7 -4
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/.github/workflows/test-full.yml +7 -4
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/.github/workflows/test.yml +7 -4
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/env_files.py +4 -4
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/settings_enhanced.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/middleware_schema.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/schema.py +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/crypto/__init__.py +21 -21
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/helpers/crypto.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/helpers/national_crypto.py +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/middleware/test_factory.py +2 -2
- df_test_framework-4.10.3/tests/capabilities/clients/http/middleware/test_retry.py +215 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/rest/test_async_client.py +9 -9
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/rest/test_contract.py +3 -3
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/rest/test_factory.py +3 -3
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/rest/test_http_client.py +22 -22
- df_test_framework-4.10.3/tests/capabilities/clients/http/rest/test_request_kwargs.py +109 -0
- df_test_framework-4.10.3/tests/capabilities/clients/http/rest/test_running_loop_dependency.py +46 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_env_cmd.py +3 -3
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/config/test_environment_layers.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/config/test_loader.py +6 -6
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/config/test_middleware_schema.py +5 -5
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_crypto.py +6 -6
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_crypto_aes.py +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_crypto_imports.py +29 -3
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_crypto_interop.py +2 -2
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_helpers.py +1 -1
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_runtime.py +4 -4
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/integration/test_middleware_chain.py +9 -9
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/decorators/test_service_client.py +3 -3
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/uv.lock +12 -1
- df_test_framework-4.10.2/src/df_test_framework/capabilities/clients/http/middleware/retry.py +0 -131
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.editorconfig +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.env.example +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.gitattributes +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.github/workflows/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.gitignore +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.gitleaks.toml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.gitleaksignore +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.pre-commit-config.yaml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/.python-version +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/CONTRIBUTING.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/README_PYPI.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/CONTRIBUTOR_GUIDE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/FAQ.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/LEARNING_PATH.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/core/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/core/context.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/core/events.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/core/exceptions.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/core/middleware.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/core/protocols.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/core/types.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/api-reference/extensions.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/DESIGN_STANDARDS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/TEST_EXECUTION_LIFECYCLE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/ARCHITECTURE_V4.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/PLUGIN_SYSTEM_V3.37.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/REFACTORING_PLAN_V3.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/REFACTORING_PLAN_V3_REVISED.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/DI_STRATEGY.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/PREPARE_DATA_DESIGN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/TESTING_MODULE_OPTIMIZATION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/UOW_CLEANUP_ARCHITECTURE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/UOW_REFACTORING_PROPOSAL.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/allure_integration_modes.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/capability_plan_vs_current.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/config-driven-design.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/config-management-analysis.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/eventbus-integration-analysis.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/failure-diagnosis-v2-design.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/future_allure_plugin_plans.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/http-vs-web-comparison.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/observability-debugging-unification.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/provider-pattern-deep-dive.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/tech-debt-cleanup-plan.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/ui-failure-diagnosis-implementation-v3.46.3.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/design/ui-observability-design.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/discussion_1_initial_issues.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/observability-modernization.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/v3_complete_draft.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/v3_final_draft.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/FRAMEWORK_ARCHITECTURE_v3.6.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/OVERVIEW_V3.17.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/V3.14_ENTERPRISE_PLATFORM_DESIGN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/V3.16_LAYER4_BOOTSTRAP_ARCHITECTURE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/V3.17_EVENT_SYSTEM_REDESIGN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/V3_ARCHITECTURE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/V3_IMPLEMENTATION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/overview.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/archive/versions/v2-architecture.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/extension-points.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/failure-diagnosis-hook-example.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/framework-positioning-notes.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/observability-architecture.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/ui-design-principles.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/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.2 → df_test_framework-4.10.3}/docs/archive/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/ACTION_PLAN_v2.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/AUDIT_VERIFICATION_REPORT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/AUTH_PLACEMENT_ANALYSIS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/CODE_REVIEW_f95e08cd.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/COMPREHENSIVE_FEATURE_AUDIT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/FRAMEWORK_OPTIMIZATION_ANALYSIS_2025.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/PHASE2_COMPARISON_ANALYSIS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/PHASE2_COMPLETION_REPORT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/PHASE2_SUMMARY.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis/V3_REFACTORING_COMPLETE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis_2025/ALLURE_HTTP_LOGGING_ISSUE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis_2025/ALLURE_INTEGRATION_CHECK_REPORT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis_2025/ALLURE_INTEGRATION_DESIGN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis_2025/ALLURE_INTEGRATION_SUMMARY.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis_2025/ALLURE_ROOT_CAUSE_ANALYSIS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis_2025/CODE_ANALYSIS_AND_PROGRESS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis_2025/COMPREHENSIVE_FRAMEWORK_EVALUATION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/analysis_2025/CONFIG_MODERNIZATION_ANALYSIS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/api-reference/clients.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/api-reference/core.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/api-reference/databases.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/api-reference/drivers.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/api-reference/infrastructure.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/api-reference/patterns.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/api-reference/testing.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/ARCHITECTURE_AUDIT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/FUTURE_ENHANCEMENTS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/IMPLEMENTATION_SUMMARY.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/MIDDLEWARE_V3.14_DESIGN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/ROADMAP_V3.29_ENHANCEMENTS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/SIGNATURE_FRAMEWORK_CAPABILITIES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/TEMPLATE_DEBUG_FIXTURES_ISSUE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/observability-config-design.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/ui-best-practices-2026.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/web-architecture-consistency-design.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/design/web-event-driven-comparison.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/evaluations_2025/DUAL_AI_ANALYSIS_COMPARISON.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/evaluations_2025/FRAMEWORK_ASSESSMENT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/evaluations_2025/FRAMEWORK_BEST_PRACTICES_UPDATE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/evaluations_2025/FRAMEWORK_CAPABILITIES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/evaluations_2025/FRAMEWORK_IMPROVEMENT_PROPOSALS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/guides/async_database_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/guides/async_http_client.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/guides/httpx_advanced_usage.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/guides/logging_configuration.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/guides/logging_pytest_integration.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/guides/modern_logging_best_practices.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/guides/repository_uow_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/guides/testing-development.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/111.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/CONFIG_AND_INTERCEPTOR_INTEGRATION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/DIRECTORY_STRUCTURE_REFACTORING.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/INTERCEPTOR_ARCHITECTURE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/INTERCEPTOR_ARCHITECTURE_VERIFICATION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/INTERCEPTOR_CONFIG_BEST_PRACTICES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/INTERCEPTOR_IDEAL_DESIGN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/INTERCEPTOR_IDEAL_VS_ACTUAL.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/INTERCEPTOR_LOCATION_DECISION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/INTERCEPTOR_NAMING_STANDARDS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/INTERCEPTOR_PERFORMANCE_ANALYSIS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/REFACTORING_IMPLEMENTATION_PLAN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/interceptor_refactoring/REFACTORING_PROGRESS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/issues/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/issues/summary.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/issues/v1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/migration/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/migration/v3.15-to-v3.16.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/migration-v3-to-v4/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/migration-v3-to-v4/v3-to-v4.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/CAPABILITY_LAYER_OPTIMIZATION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/DOC_REORGANIZATION_PLAN_v4.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/REFACTORING_PLAN_v2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/REFACTORING_TASKS_v2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/RFC_MULTIPART_FORM_DATA_SUPPORT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/RFC_MULTIPART_IMPLEMENTATION_CODE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/UV_SYNC_MIGRATION_SUMMARY.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/UV_SYNC_QUICK_START.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/plans/v2-migration-plan-draft.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/CHANGELOG_AUDIT_REPORT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/CODE_QUALITY_FIXES_2025-11-09.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/CORE_DOCS_UPDATE_PLAN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/DOCUMENTATION_AUDIT_REPORT_2025-12-05.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/DOCUMENTATION_CLEANUP_SUMMARY.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/DOCUMENTATION_INDEX.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/DOCUMENTATION_MAINTENANCE_COMPLETE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/DOCUMENTATION_UPDATE_CHECKLIST.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/DOC_UPDATE_SUMMARY.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/IMPROVEMENTS_2025-01-09.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/PHASE3_COMPLETION_REPORT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/PYTHON_VERSION_UNIFICATION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/REFACTORING_COMPLETION_CHECK.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/TEST_CODE_GENERATION_ANALYSIS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/V3.3.0_DOCUMENTATION_UPDATE_SUMMARY.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/V3.3.0_MIGRATION_CHECKLIST.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/V3.5_ALLURE_INTEGRATION_PLAN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/V3.5_DOCUMENTATION_COMPLETE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/V3.5_OBSERVABILITY_FINAL_STATUS.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/V3.5_PHASE2_ACCEPTANCE_REPORT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/V3.5_REFACTOR_PLAN.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/V3.5_REFACTOR_PLAN_REVISED.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/VERIFIED_BEST_PRACTICES_INTEGRATION_COMPLETE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/reports_2025/async_http_client_design.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/skills/write-code.zip +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/skills/write-test.zip +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/user-guide/PHASE3_FEATURES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/user-guide/VERIFIED_BEST_PRACTICES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/user-guide/extensions.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/user-guide/ui-testing.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/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.2 → df_test_framework-4.10.3}/docs/archive/v1/FRAMEWORK_DESIGN_PRINCIPLES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/v1/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/v1/UPGRADE_SUMMARY_v1.3.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/v1/architecture.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/v1/best-practices.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/v1/config-integration-guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/v1/optimization-report.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/v1/publishing.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/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.2 → df_test_framework-4.10.3}/docs/archive/versions/QUICK_START_V3.14.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/archive/versions/QUICK_START_V3.5.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/ci-templates/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/ci-templates/github-actions.yml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/ci-templates/gitlab-ci.yml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/development/CAPABILITY_EXTRACTION_RULES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/development/DOCUMENTATION_MAINTENANCE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/development/FRAMEWORK_DEPENDENCY_MANAGEMENT.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/development/RELEASE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/development/UNASYNC_EVALUATION.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/development/VERSION_CONTROL_RULES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/development/local-development.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/DECIMAL_GUIDE.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/allure_plugin.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/assertions_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/async_api_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/auth_session_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/baseline_pool.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/beyond-framework.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/bootstrap_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/config_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/database_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/decorators_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/distributed_tracing.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/event_bus_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/extensions.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/factory_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/fixture_chain_pattern.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/fixtures_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/graphql_client.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/grpc_client.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/helpers_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/local_debug_quickstart.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/logging_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/message_queue.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/mocking.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/monitoring_plugin.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/naming_standard.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/openapi_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/plugin_hooks_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/plugins_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/project-structure-standard.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/prometheus_metrics.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/redis_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/resilience_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/sanitize_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/scaffold_cli_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/storage.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/telemetry_guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/test_data.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/test_data_cleanup.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/guides/test_data_pipeline_design.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.0.0-alpha.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.1.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.10.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.11.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.11.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.12.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.12.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.13.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.14.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.14.0_completion_report.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.14.0_implementation_complete.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.16.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.17.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.17.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.17.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.18.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.18.1-bugfix.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.18.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.19.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.2.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.20.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.21.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.22.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.22.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.23.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.24.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.25.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.26.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.27.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.28.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.28.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.29.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.3.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.30.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.31.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.32.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.33.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.34.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.34.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.35.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.35.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.35.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.35.3.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.35.4.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.35.5.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.35.6.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.35.7.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.36.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.36.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.37.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.38.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.38.10.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.38.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.38.4.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.38.5.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.38.7.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.38.8.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.38.9.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.39.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.39.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.4.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.40.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.41.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.41.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.42.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.43.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.44.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.45.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.46.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.46.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.46.3.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.5.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.6.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.6.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.6.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.7.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.8.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v3.9.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.0.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.0.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.0.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.0.3.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.0.4.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.1.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.1.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.1.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.10.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.10.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.10.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.2.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.2.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.2.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.3.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.3.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.4.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.4.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.4.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.4.3.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.4.4.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.5.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.6.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.6.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.7.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.7.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.7.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.7.3.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.7.4.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.7.5.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.8.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.8.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.0.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.1.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.10.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.11.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.12.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.13.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.14.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.15.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.16.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.17.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.18.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.19.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.2.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.20.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.21.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.22.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.23.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.3.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.4.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.5.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.6.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.7.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.8.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/releases/v4.9.9.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/troubleshooting/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/troubleshooting/common-errors.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/troubleshooting/debugging-guide.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/BEST_PRACTICES.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/USER_MANUAL.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/ci-cd.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/code-generation.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/cross-project-sharing.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/debugging.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/multi-repo.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/user-guide/security-best-practices.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/01-basic/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/01-basic/database_operations.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/01-basic/http_client_usage.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/01-basic/redis_cache.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/01-basic/storage_usage.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/02-bootstrap/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/02-bootstrap/custom_providers.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/02-bootstrap/custom_settings.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/02-bootstrap/minimal_bootstrap.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/03-testing/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/03-testing/conftest.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/03-testing/test_api.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/03-testing/test_database.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/03-testing/test_with_fixtures.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/04-patterns/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/04-patterns/builder_pattern.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/04-patterns/combined_patterns.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/04-patterns/repository_pattern.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/05-extensions/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/05-extensions/allure_enhancement_extension.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/05-extensions/data_factory_extension.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/05-extensions/environment_validator_extension.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/05-extensions/monitoring_extension.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/05-extensions/mq_monitor_extension.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/05-extensions/notification_extension.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/06-ui-testing/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/06-ui-testing/basic_ui_test.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/06-ui-testing/conftest.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/06-ui-testing/page_object_example.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/docker-compose-kafka.yml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/docker-compose-rabbitmq.yml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/docker-compose-rocketmq.yml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/kafka_basic.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/kafka_ssl.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/rabbitmq_basic.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/rabbitmq_topic.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/rocketmq-broker.conf +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-message-queue/rocketmq_basic.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-v35-features/01_configurable_interceptors.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/07-v35-features/04_observability.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/08-v37-features/01_unit_of_work_basics.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/08-v37-features/02_repository_v37.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/08-v37-features/03_auto_rollback_testing.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/08-v37-features/04_multi_repository_transactions.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/08-v37-features/05_project_uow.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/08-v37-features/06_exception_handling_with_uow.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/08-v37-features/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/examples/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/scripts/bump_version.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/scripts/check_release.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/scripts/fetch_swagger.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/scripts/security-scan.bat +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/scripts/security-scan.sh +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/scripts/smoke_config_release.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/bootstrap/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/bootstrap/bootstrap.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/bootstrap/runtime.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/middleware/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/middleware/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/middleware/event_publisher.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/middleware/logging.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/middleware/retry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/models.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/graphql/query_builder.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/middleware/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/middleware/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/middleware/event_publisher.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/middleware/logging.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/middleware/metadata.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/middleware/retry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/middleware/timing.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/grpc/models.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/core/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/core/response.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/middleware/auth.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/middleware/event_publisher.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/middleware/logging.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/middleware/signature.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/middleware/telemetry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/httpx/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/httpx/async_base_api.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/httpx/base_api.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/httpx/contract.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/clients/http/rest/protocols.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/async_database.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/database.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/factory.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/query_builder.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/redis/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/redis/async_redis.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/redis/redis_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/repositories/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/repositories/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/repositories/query_spec.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/sql_builder.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/databases/uow.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/_event_utils.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/app_actions.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/async_app_actions.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/factory.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/playwright/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/playwright/async_browser.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/playwright/async_browser_pool.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/playwright/async_page.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/playwright/browser.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/playwright/component.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/playwright/locator.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/playwright/page.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/protocols.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/drivers/web/toolkit.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/engines/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/engines/batch/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/engines/batch/spark/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/engines/olap/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/engines/stream/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/engines/stream/flink/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/pubsub/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/kafka/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/kafka/async_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/kafka/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/kafka/config.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/async_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/rabbitmq/config.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/rocketmq/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/rocketmq/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/messengers/queue/rocketmq/config.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/blob/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/file/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/file/local/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/file/local/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/file/local/config.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/object/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/object/oss/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/object/oss/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/object/oss/config.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/object/s3/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/object/s3/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/capabilities/storages/object/s3/config.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/__main__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/codegen_utils.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/baseline_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/cicd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/cleanup_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/doctor_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/generate_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/init_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/commands/interactive.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/generators/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/generators/case_generator.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/generators/json_to_model.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/generators/openapi_generator.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/generators/openapi_parser.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/main.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/README.md.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/config/env.test.example.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/config/test.local.yaml.example.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/config/test.yaml.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/editorconfig.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/gitattributes.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/gitignore.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/pyproject.toml.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/actions_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/apis_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/cases_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/clients_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/config_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/constants_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/example_actions.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/example_api.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/example_case.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/example_page.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/fixtures_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/http_clients.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/models_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/naming.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/pages_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/pkg_init.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/settings.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/src/ui_clients.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/tests/conftest.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/tests/example_cases.yaml.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/tests/test_example_api.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/tests/test_example_ui.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/scaffold/templates/tests/test_naming.py.j2 +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/.gitlab-ci.yml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/Jenkinsfile +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/docker/Dockerfile +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/docker/Dockerfile.dockerignore +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/cicd/docker/docker-compose.yml +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/actions.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/api_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/builder.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/flow.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/graphql_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/page.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/redis_example.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/repository.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/test.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/test_complete.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/cli/templates/generators/test_graphql.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/context/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/context/execution.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/context/propagation.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/decorators.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/cache.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/database.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/graphql.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/grpc.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/http.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/messaging.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/storage.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/test_lifecycle.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/events/ui.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/exceptions.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/middleware/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/middleware/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/middleware/chain.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/middleware/decorator.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/middleware/protocol.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/models/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/models/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/protocols/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/protocols/client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/protocols/event.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/protocols/plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/protocols/repository.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/protocols/telemetry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/core/types.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/discovery.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/environment.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/loader.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/pipeline.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/settings.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/config/sources.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/context/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/context/carriers/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/context/carriers/grpc.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/context/carriers/http.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/context/carriers/mq.py +0 -0
- /df_test_framework-4.10.2/src/df_test_framework/infrastructure/crypto/aes.py → /df_test_framework-4.10.3/src/df_test_framework/infrastructure/crypto/_aes.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/crypto/_common.py +0 -0
- /df_test_framework-4.10.2/src/df_test_framework/infrastructure/crypto/sm2.py → /df_test_framework-4.10.3/src/df_test_framework/infrastructure/crypto/_sm2.py +0 -0
- /df_test_framework-4.10.2/src/df_test_framework/infrastructure/crypto/sm3.py → /df_test_framework-4.10.3/src/df_test_framework/infrastructure/crypto/_sm3.py +0 -0
- /df_test_framework-4.10.2/src/df_test_framework/infrastructure/crypto/sm4.py → /df_test_framework-4.10.3/src/df_test_framework/infrastructure/crypto/_sm4.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/events/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/events/bus.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/events/handlers/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/helpers/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/helpers/hash.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/helpers/network.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/helpers/signature.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/logging/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/logging/config.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/logging/interface.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/logging/logger.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/logging/observability.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/metrics/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/metrics/decorators.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/metrics/manager.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/metrics/observer.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/metrics/performance.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/metrics/registry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/metrics/types.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/plugins/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/plugins/hooks.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/plugins/manager.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/resilience/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/resilience/circuit_breaker.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/sanitize/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/sanitize/service.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/telemetry/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/telemetry/exporters/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/telemetry/facade.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/telemetry/noop.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/context.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/decorators.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/exporters.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/integrations/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/integrations/database.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/integrations/sqlalchemy_instrumentation.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/interceptors/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/interceptors/grpc.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/interceptors/http.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/infrastructure/tracing/manager.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/plugins/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/plugins/builtin/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/plugins/builtin/monitoring/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/plugins/builtin/monitoring/plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/assertions/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/assertions/envelope.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/assertions/helper.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/assertions/json_schema.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/assertions/matchers.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/assertions/response.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/assertions/waiting.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/baseline.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/builders/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/builders/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/factories/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/factories/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/factories/examples.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/generators/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/generators/data_generator.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/loaders/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/loaders/base.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/loaders/csv_loader.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/loaders/json_loader.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/loaders/yaml_loader.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/naming/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/naming/guards.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/naming/keys.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/naming/registry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/naming/standard.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/pipeline/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/pipeline/_registry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/pipeline/context.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/pipeline/dataset.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/pipeline/loader.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/pipeline/reporter.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/data/pipeline/resolver.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/debugging/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/debugging/console.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/decorators/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/decorators/actions_class.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/decorators/api_class.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/decorators/service_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/decorators/ui_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/execution/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/execution/concurrency.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/execution/gates.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/allure.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/auth.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/cleanup.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/core.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/debugging.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/http_recorder.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/message_queue.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/metrics.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/monitoring.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/fixtures/ui.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/mocking/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/mocking/database_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/mocking/http_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/mocking/page_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/mocking/redis_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/mocking/time_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/plugins/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/plugins/accessors.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/plugins/api_autodiscovery.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/plugins/data_pipeline.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/plugins/debug.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/plugins/env_plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/plugins/logging_plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/plugins/markers.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/reporting/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/reporting/allure/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/reporting/allure/helper.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/src/df_test_framework/testing/reporting/allure/observer.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/README.md +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/bootstrap/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/bootstrap/test_bootstrap.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/bootstrap/test_df_providers_chain.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/bootstrap/test_plugin_middlewares.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/bootstrap/test_providers.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/bootstrap/test_runtime.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/graphql/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/graphql/test_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/graphql/test_middleware.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/graphql/test_models.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/graphql/test_query_builder.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/grpc/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/grpc/test_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/grpc/test_middleware.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/grpc/test_models.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/auth/signature/test_strategies.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/core/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/core/test_multipart.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/core/test_request.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/core/test_response.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/middleware/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/middleware/test_event_publisher.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/middleware/test_logging.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/middleware/test_otel_tracing.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/rest/test_async_base_api.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/rest/test_auth_control.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/clients/http/rest/test_base_api.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/redis/test_async_redis.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/redis/test_redis_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/test_async_database.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/test_database.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/test_database_factory.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/test_dialect_compilation.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/test_query_builder.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/test_repositories.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/databases/test_uow.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/drivers/web/playwright/test_async_browser_pool.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/drivers/web/test_async_ui.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/drivers/web/test_modern_ui.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/drivers/web/test_toolkit.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/messengers/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/messengers/test_kafka_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/messengers/test_mq_contract.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/messengers/test_rabbitmq_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/messengers/test_rocketmq_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/storages/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/storages/test_local_file.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/storages/test_oss.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/storages/test_s3.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/capabilities/test_dual_track_parity.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/src/demo_proj/apis/__init__.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/src/demo_proj/apis/ding_dan_guan_li_api.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/src/demo_proj/models/__init__.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/src/demo_proj/models/base.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/src/demo_proj/models/requests/__init__.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/src/demo_proj/models/requests/ding_dan_guan_li.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/src/demo_proj/models/responses/__init__.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/src/demo_proj/models/responses/ding_dan_guan_li.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/golden/openapi/tests/api/test_ding_dan_guan_li_api.py.txt +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_baseline_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_case_generator.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_cleanup_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_doctor_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_gen_page_flow.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_generate_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_init_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_interactive_cmd.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_main.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_openapi_golden.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/cli/test_utils.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/conftest.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/golden/event_schema.json +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/protocols/test_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/protocols/test_event.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/protocols/test_plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/protocols/test_repository.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/protocols/test_telemetry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_context.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_decorators.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_event_publisher_coverage.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_event_schema_contract.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_event_types.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_events.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_layer_dependencies.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_middleware.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/core/test_types.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/config/test_discovery.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/context/test_carriers.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/events/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/events/test_bus.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/metrics/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/metrics/test_decorators.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/metrics/test_manager.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/metrics/test_observer.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/metrics/test_performance.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/metrics/test_registry.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/metrics/test_types.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/plugins/test_manager.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/resilience/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/resilience/test_circuit_breaker.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/sanitize/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/sanitize/test_service.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/telemetry/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/telemetry/test_facade.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/telemetry/test_noop.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_bootstrap.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_logging.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_national_crypto_helpers.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_observability_observer.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_pipeline.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_settings.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/test_sources.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/tracing/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/tracing/test_context.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/tracing/test_decorators.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/tracing/test_exporters.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/tracing/test_integrations.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/tracing/test_interceptors.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/infrastructure/tracing/test_manager.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/integration/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/integration/test_config_environment.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/integration/test_event_observability.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/integration/test_factory_assertions.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/migration/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/migration/test_v3_13_to_v3_14_examples.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/plugins/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/plugins/builtin/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/plugins/builtin/monitoring/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/plugins/builtin/monitoring/test_plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/test_docs_imports.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/test_docs_links.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/test_json_to_model_generator.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/test_lazy_imports.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/test_release_validation.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/test_version_consistency.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/assertions/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/assertions/test_json_schema.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/assertions/test_matchers.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/assertions/test_waiting.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/pipeline/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/pipeline/test_pipeline.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/pipeline/test_pipeline_plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/test_baseline.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/test_builders.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/test_data_generator.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/test_factories.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/test_naming.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/test_naming_guards.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/test_naming_keys.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/data/test_naming_standard.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/debugging/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/debugging/test_console_debug_observer.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/decorators/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/decorators/test_actions_class.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/decorators/test_api_class.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/decorators/test_ui_client.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_allure_fixture.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_cleanup.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_cleanup_scopes_integration.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_fixtures_core.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_fixtures_debugging.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_fixtures_message_queue.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_fixtures_monitoring.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_http_recorder.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_lifecycle_hooks.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_monitoring_metrics.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_plugin_lifecycle_integration.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_ui_fixtures.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/fixtures/test_ui_tracing.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/mocking/__init__.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/mocking/test_database_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/mocking/test_http_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/mocking/test_redis_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/mocking/test_time_mock.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/plugins/test_api_autodiscovery.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/plugins/test_debug_plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/plugins/test_env_plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/plugins/test_logging_plugin.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/plugins/test_markers.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/reporting/test_allure_observer.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/test_allure_helper.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/test_assertions.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/test_data_loaders.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/test_factories_presets.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/test_gates_concurrency.py +0 -0
- {df_test_framework-4.10.2 → df_test_framework-4.10.3}/tests/testing/test_page_mock_auth_state.py +0 -0
|
@@ -30,9 +30,12 @@ jobs:
|
|
|
30
30
|
timeout-minutes: 10
|
|
31
31
|
|
|
32
32
|
steps:
|
|
33
|
-
- uses: actions/checkout@
|
|
33
|
+
- uses: actions/checkout@v5
|
|
34
34
|
|
|
35
|
-
- uses: astral-sh/setup-uv@
|
|
35
|
+
- uses: astral-sh/setup-uv@v7
|
|
36
|
+
with:
|
|
37
|
+
version: "latest"
|
|
38
|
+
enable-cache: false
|
|
36
39
|
|
|
37
40
|
- name: 安装依赖
|
|
38
41
|
run: uv sync
|
|
@@ -24,15 +24,18 @@ jobs:
|
|
|
24
24
|
|
|
25
25
|
steps:
|
|
26
26
|
- name: 检出代码
|
|
27
|
-
uses: actions/checkout@
|
|
27
|
+
uses: actions/checkout@v5
|
|
28
28
|
|
|
29
29
|
- name: 设置Python 3.12
|
|
30
|
-
uses: actions/setup-python@
|
|
30
|
+
uses: actions/setup-python@v6
|
|
31
31
|
with:
|
|
32
32
|
python-version: '3.12'
|
|
33
33
|
|
|
34
34
|
- name: 安装uv
|
|
35
|
-
uses: astral-sh/setup-uv@
|
|
35
|
+
uses: astral-sh/setup-uv@v7
|
|
36
|
+
with:
|
|
37
|
+
version: "latest"
|
|
38
|
+
enable-cache: false
|
|
36
39
|
|
|
37
40
|
- name: 同步依赖
|
|
38
41
|
run: |
|
|
@@ -26,10 +26,10 @@ jobs:
|
|
|
26
26
|
|
|
27
27
|
steps:
|
|
28
28
|
- name: 检出代码
|
|
29
|
-
uses: actions/checkout@
|
|
29
|
+
uses: actions/checkout@v5
|
|
30
30
|
|
|
31
31
|
- name: 设置Python 3.12
|
|
32
|
-
uses: actions/setup-python@
|
|
32
|
+
uses: actions/setup-python@v6
|
|
33
33
|
with:
|
|
34
34
|
python-version: '3.12'
|
|
35
35
|
|
|
@@ -53,10 +53,10 @@ jobs:
|
|
|
53
53
|
|
|
54
54
|
steps:
|
|
55
55
|
- name: 检出代码
|
|
56
|
-
uses: actions/checkout@
|
|
56
|
+
uses: actions/checkout@v5
|
|
57
57
|
|
|
58
58
|
- name: 设置Python 3.12
|
|
59
|
-
uses: actions/setup-python@
|
|
59
|
+
uses: actions/setup-python@v6
|
|
60
60
|
with:
|
|
61
61
|
python-version: '3.12'
|
|
62
62
|
|
|
@@ -66,7 +66,10 @@ jobs:
|
|
|
66
66
|
pip install build twine
|
|
67
67
|
|
|
68
68
|
- name: 安装uv
|
|
69
|
-
uses: astral-sh/setup-uv@
|
|
69
|
+
uses: astral-sh/setup-uv@v7
|
|
70
|
+
with:
|
|
71
|
+
version: "latest"
|
|
72
|
+
enable-cache: false
|
|
70
73
|
|
|
71
74
|
- name: 安装锁定的检查工具
|
|
72
75
|
run: uv sync --locked
|
|
@@ -116,7 +119,7 @@ jobs:
|
|
|
116
119
|
"$RUNNER_TEMP/release-smoke/bin/python" -I "$GITHUB_WORKSPACE/scripts/smoke_config_release.py" "$EXPECTED"
|
|
117
120
|
|
|
118
121
|
- name: 上传构建产物
|
|
119
|
-
uses: actions/upload-artifact@
|
|
122
|
+
uses: actions/upload-artifact@v6
|
|
120
123
|
with:
|
|
121
124
|
name: dist-packages
|
|
122
125
|
path: dist/
|
|
@@ -141,7 +144,7 @@ jobs:
|
|
|
141
144
|
|
|
142
145
|
steps:
|
|
143
146
|
- name: 下载构建产物
|
|
144
|
-
uses: actions/download-artifact@
|
|
147
|
+
uses: actions/download-artifact@v7
|
|
145
148
|
with:
|
|
146
149
|
name: dist-packages
|
|
147
150
|
path: dist/
|
|
@@ -171,18 +174,18 @@ jobs:
|
|
|
171
174
|
|
|
172
175
|
steps:
|
|
173
176
|
- name: 检出代码
|
|
174
|
-
uses: actions/checkout@
|
|
177
|
+
uses: actions/checkout@v5
|
|
175
178
|
with:
|
|
176
179
|
fetch-depth: 0 # 获取完整历史用于生成changelog
|
|
177
180
|
|
|
178
181
|
- name: 下载构建产物
|
|
179
|
-
uses: actions/download-artifact@
|
|
182
|
+
uses: actions/download-artifact@v7
|
|
180
183
|
with:
|
|
181
184
|
name: dist-packages
|
|
182
185
|
path: dist/
|
|
183
186
|
|
|
184
187
|
- name: 设置Python 3.12
|
|
185
|
-
uses: actions/setup-python@
|
|
188
|
+
uses: actions/setup-python@v6
|
|
186
189
|
with:
|
|
187
190
|
python-version: '3.12'
|
|
188
191
|
|
|
@@ -195,7 +198,7 @@ jobs:
|
|
|
195
198
|
python scripts/check_release.py "$VERSION" --notes release_notes.md
|
|
196
199
|
|
|
197
200
|
- name: 创建GitHub Release
|
|
198
|
-
uses: softprops/action-gh-release@
|
|
201
|
+
uses: softprops/action-gh-release@v3
|
|
199
202
|
with:
|
|
200
203
|
name: v${{ steps.changelog.outputs.version }}
|
|
201
204
|
body_path: release_notes.md
|
|
@@ -13,15 +13,18 @@ jobs:
|
|
|
13
13
|
|
|
14
14
|
steps:
|
|
15
15
|
- name: 检出代码
|
|
16
|
-
uses: actions/checkout@
|
|
16
|
+
uses: actions/checkout@v5
|
|
17
17
|
|
|
18
18
|
- name: 设置Python 3.12
|
|
19
|
-
uses: actions/setup-python@
|
|
19
|
+
uses: actions/setup-python@v6
|
|
20
20
|
with:
|
|
21
21
|
python-version: '3.12'
|
|
22
22
|
|
|
23
23
|
- name: 安装uv
|
|
24
|
-
uses: astral-sh/setup-uv@
|
|
24
|
+
uses: astral-sh/setup-uv@v7
|
|
25
|
+
with:
|
|
26
|
+
version: "latest"
|
|
27
|
+
enable-cache: false
|
|
25
28
|
|
|
26
29
|
- name: 同步依赖
|
|
27
30
|
run: |
|
|
@@ -99,10 +102,10 @@ jobs:
|
|
|
99
102
|
|
|
100
103
|
steps:
|
|
101
104
|
- name: 检出代码
|
|
102
|
-
uses: actions/checkout@
|
|
105
|
+
uses: actions/checkout@v5
|
|
103
106
|
|
|
104
107
|
- name: 设置Python 3.12
|
|
105
|
-
uses: actions/setup-python@
|
|
108
|
+
uses: actions/setup-python@v6
|
|
106
109
|
with:
|
|
107
110
|
python-version: '3.12'
|
|
108
111
|
|
|
@@ -20,10 +20,10 @@ jobs:
|
|
|
20
20
|
|
|
21
21
|
steps:
|
|
22
22
|
- name: 检出代码
|
|
23
|
-
uses: actions/checkout@
|
|
23
|
+
uses: actions/checkout@v5
|
|
24
24
|
|
|
25
25
|
- name: 设置 Python 环境
|
|
26
|
-
uses: actions/setup-python@
|
|
26
|
+
uses: actions/setup-python@v6
|
|
27
27
|
with:
|
|
28
28
|
python-version: '3.12'
|
|
29
29
|
cache: 'pip'
|
|
@@ -84,7 +84,7 @@ jobs:
|
|
|
84
84
|
fi
|
|
85
85
|
|
|
86
86
|
- name: 上传扫描报告
|
|
87
|
-
uses: actions/upload-artifact@
|
|
87
|
+
uses: actions/upload-artifact@v6
|
|
88
88
|
if: always()
|
|
89
89
|
with:
|
|
90
90
|
name: security-reports-${{ github.run_number }}
|
|
@@ -166,10 +166,10 @@ jobs:
|
|
|
166
166
|
|
|
167
167
|
steps:
|
|
168
168
|
- name: 检出代码
|
|
169
|
-
uses: actions/checkout@
|
|
169
|
+
uses: actions/checkout@v5
|
|
170
170
|
|
|
171
171
|
- name: 设置 Python 环境
|
|
172
|
-
uses: actions/setup-python@
|
|
172
|
+
uses: actions/setup-python@v6
|
|
173
173
|
with:
|
|
174
174
|
python-version: '3.12'
|
|
175
175
|
cache: 'pip'
|
|
@@ -205,7 +205,7 @@ jobs:
|
|
|
205
205
|
fi
|
|
206
206
|
|
|
207
207
|
- name: 上传质量报告
|
|
208
|
-
uses: actions/upload-artifact@
|
|
208
|
+
uses: actions/upload-artifact@v6
|
|
209
209
|
if: always()
|
|
210
210
|
with:
|
|
211
211
|
name: quality-reports-${{ github.run_number }}
|
|
@@ -221,7 +221,7 @@ jobs:
|
|
|
221
221
|
|
|
222
222
|
steps:
|
|
223
223
|
- name: 检出代码
|
|
224
|
-
uses: actions/checkout@
|
|
224
|
+
uses: actions/checkout@v5
|
|
225
225
|
with:
|
|
226
226
|
fetch-depth: 0 # 获取完整历史,检查所有提交
|
|
227
227
|
|
|
@@ -231,6 +231,6 @@ jobs:
|
|
|
231
231
|
extra_args: --only-verified
|
|
232
232
|
|
|
233
233
|
- name: Gitleaks - 备用密钥扫描
|
|
234
|
-
uses: gitleaks/gitleaks-action@
|
|
234
|
+
uses: gitleaks/gitleaks-action@v3
|
|
235
235
|
env:
|
|
236
236
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -50,15 +50,18 @@ jobs:
|
|
|
50
50
|
|
|
51
51
|
steps:
|
|
52
52
|
- name: 检出代码
|
|
53
|
-
uses: actions/checkout@
|
|
53
|
+
uses: actions/checkout@v5
|
|
54
54
|
|
|
55
55
|
- name: 设置Python ${{ matrix.python-version }}
|
|
56
|
-
uses: actions/setup-python@
|
|
56
|
+
uses: actions/setup-python@v6
|
|
57
57
|
with:
|
|
58
58
|
python-version: ${{ matrix.python-version }}
|
|
59
59
|
|
|
60
60
|
- name: 安装uv
|
|
61
|
-
uses: astral-sh/setup-uv@
|
|
61
|
+
uses: astral-sh/setup-uv@v7
|
|
62
|
+
with:
|
|
63
|
+
version: "latest"
|
|
64
|
+
enable-cache: false
|
|
62
65
|
|
|
63
66
|
- name: 同步依赖(使用 uv sync)
|
|
64
67
|
run: |
|
|
@@ -140,15 +143,18 @@ jobs:
|
|
|
140
143
|
|
|
141
144
|
steps:
|
|
142
145
|
- name: 检出代码
|
|
143
|
-
uses: actions/checkout@
|
|
146
|
+
uses: actions/checkout@v5
|
|
144
147
|
|
|
145
148
|
- name: 设置Python 3.12
|
|
146
|
-
uses: actions/setup-python@
|
|
149
|
+
uses: actions/setup-python@v6
|
|
147
150
|
with:
|
|
148
151
|
python-version: '3.12'
|
|
149
152
|
|
|
150
153
|
- name: 安装uv
|
|
151
|
-
uses: astral-sh/setup-uv@
|
|
154
|
+
uses: astral-sh/setup-uv@v7
|
|
155
|
+
with:
|
|
156
|
+
version: "latest"
|
|
157
|
+
enable-cache: false
|
|
152
158
|
|
|
153
159
|
- name: 同步依赖
|
|
154
160
|
run: |
|
|
@@ -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.3
|
|
12
|
+
- **更新时间**: 2026-11-04
|
|
13
13
|
- **Python**: 3.12+
|
|
14
14
|
- **核心技术栈**: pytest + httpx + Playwright + Pydantic v2 + SQLAlchemy 2.0 + Pluggy
|
|
15
15
|
- **架构**: 五层架构 + 横切关注点(能力层驱动设计)
|
|
@@ -7,6 +7,51 @@
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [4.10.3] - 2026-11-04
|
|
11
|
+
|
|
12
|
+
> 含 HTTP 重试参数与请求参数的破坏性变更。维护者指定按 PATCH 发布,依据是消费项目
|
|
13
|
+
> 由内部统一维护并同步迁移;详见 [v4.10.3 发布说明](docs/releases/v4.10.3.md)。
|
|
14
|
+
|
|
15
|
+
### HTTP 重试参数统一(破坏性变更)
|
|
16
|
+
|
|
17
|
+
- HTTPConfig、HttpClient/AsyncHttpClient、RetryMiddleware 及其配置统一使用 `retries`,
|
|
18
|
+
表示首次之外的额外次数;默认值为 0。单请求 `retries=N` 覆盖,`None` 继承。
|
|
19
|
+
- 移除 HTTP `max_retries`,环境变量改为 `HTTP__RETRIES`。YAML 中的旧键 `max_retries`
|
|
20
|
+
不再读取,升级时须改名;工厂、Provider、CLI、生成模板及当前指南同步迁移。
|
|
21
|
+
- 同一客户端只保留一个重试执行器,手动配置替换默认执行器,避免叠加放大发送次数。
|
|
22
|
+
重试耗尽以最后一次响应或异常为准,显式空状态码/异常列表不回退默认值。
|
|
23
|
+
- 详细迁移见 [HTTP 客户端指南](docs/guides/http_client_guide.md#从旧名称迁移)。
|
|
24
|
+
|
|
25
|
+
### HTTP 请求参数显式化(破坏性变更)
|
|
26
|
+
|
|
27
|
+
- 同步/异步客户端只接受已支持的请求参数,未识别参数(如拼写错误 `jsoon=`、`timout=`)
|
|
28
|
+
在发送前报 `TypeError`,不再被静默丢弃。
|
|
29
|
+
- 新增单请求 `follow_redirects`;此前该参数被丢弃,始终按客户端默认跟随重定向。
|
|
30
|
+
- 修复多值查询参数被压掉同名值:`params=[("a","1"),("a","2")]` 此前实际只发送 `?a=2`;
|
|
31
|
+
现统一规范为字典(多值为列表),支持键值对序列、查询字符串与 `httpx.QueryParams`。
|
|
32
|
+
- 修复 `ApiKeyMiddleware` 查询参数模式在请求未传 `params` 时报 `TypeError`。
|
|
33
|
+
- 新增 [HTTP 客户端接口支持面方案](docs/development/http-client-interface-plan.md)(讨论草案)。
|
|
34
|
+
|
|
35
|
+
### 国密导出修复
|
|
36
|
+
|
|
37
|
+
- 修复包级 `sm3` 被同名实现子模块遮蔽:先使用 `SM3Hasher` 等后,`crypto.sm3` 变成模块,
|
|
38
|
+
`sm3()` 与 `digest_sign(algorithm="sm3")` 报 `'module' object is not callable`。
|
|
39
|
+
实现模块改为私有 `_sm2/_sm3/_sm4/_aes`,公共接口仍从 `infrastructure.crypto` 包导入。
|
|
40
|
+
|
|
41
|
+
### 运行依赖修复
|
|
42
|
+
|
|
43
|
+
- 补齐同步 HTTP/GraphQL 在运行中事件循环调用所需的 `nest-asyncio` 核心依赖。
|
|
44
|
+
原安装包在 API 与 Playwright 混合回归的后续前置中可能报缺模块;
|
|
45
|
+
修复依赖声明及嵌套循环请求回归,不改客户端公开接口或业务项目配置。
|
|
46
|
+
|
|
47
|
+
### CI 与脚手架
|
|
48
|
+
|
|
49
|
+
- 仓库工作流和 GitHub Actions 脚手架模板升级为 Node.js 24 Action:
|
|
50
|
+
checkout v5、setup-python v6、setup-uv v7、upload-artifact v6、
|
|
51
|
+
download-artifact v7、action-gh-release v3、gitleaks-action v3。
|
|
52
|
+
- setup-uv 显式保留安装 latest uv 与关闭缓存的策略,避免升级默认值改变执行行为;
|
|
53
|
+
模板更新随下一版包交付,已发布版本与标签保持不变。
|
|
54
|
+
|
|
10
55
|
## [4.10.2] - 2026-10-10
|
|
11
56
|
|
|
12
57
|
### 配置按环境隔离(破坏性配置迁移,维护者指定 PATCH)
|
|
@@ -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.3
|
|
12
|
+
- **更新时间**: 2026-11-04
|
|
13
13
|
- **Python**: 3.12+
|
|
14
14
|
- **核心技术栈**: pytest + httpx + Playwright + Pydantic v2 + SQLAlchemy 2.0 + Pluggy
|
|
15
15
|
- **架构**: 五层架构 + 横切关注点(能力层驱动设计)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: df-test-framework
|
|
3
|
-
Version: 4.10.
|
|
3
|
+
Version: 4.10.3
|
|
4
4
|
Summary: 基于交互模式的现代化测试自动化框架,支持多种测试场景
|
|
5
5
|
Author-email: DF QA Team <qa@example.com>
|
|
6
6
|
License: MIT
|
|
@@ -28,6 +28,7 @@ Requires-Dist: jinja2>=3.1.0
|
|
|
28
28
|
Requires-Dist: jsonpath-ng>=1.7.0
|
|
29
29
|
Requires-Dist: jsonschema-spec>=0.2.4
|
|
30
30
|
Requires-Dist: jsonschema>=4.25.1
|
|
31
|
+
Requires-Dist: nest-asyncio>=1.6.0
|
|
31
32
|
Requires-Dist: openpyxl>=3.1.0
|
|
32
33
|
Requires-Dist: pluggy>=1.5.0
|
|
33
34
|
Requires-Dist: prance[osv]>=23.6.0
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# DF Test Framework
|
|
2
2
|
|
|
3
|
-
> **版本**: v4.10.
|
|
4
|
-
> **更新时间**: 2026-
|
|
3
|
+
> **版本**: v4.10.3
|
|
4
|
+
> **更新时间**: 2026-11-04
|
|
5
5
|
> 简单、强大、可扩展的现代化 Python 测试自动化框架
|
|
6
6
|
|
|
7
7
|
[](https://pypi.org/project/df-test-framework/)
|
|
@@ -281,7 +281,7 @@ infrastructure/plugins/
|
|
|
281
281
|
infrastructure/helpers/
|
|
282
282
|
├── __init__.py # 统一导出
|
|
283
283
|
├── hash.py # MD5/SHA256/HMAC-SHA256(基于 stdlib)
|
|
284
|
-
├── crypto.py # AES 文本门面(实现在 infrastructure/crypto/
|
|
284
|
+
├── crypto.py # AES 文本门面(实现在 infrastructure/crypto/_aes.py,需 crypto extra)
|
|
285
285
|
├── national_crypto.py # 国密便捷层 SM2Cipher/SM2Signer/SM4Cipher(需 gm extra)
|
|
286
286
|
├── signature.py # API 参数签名计算
|
|
287
287
|
└── network.py # 公网 IP 探测
|
|
@@ -289,7 +289,7 @@ infrastructure/helpers/
|
|
|
289
289
|
|
|
290
290
|
**关键函数**:
|
|
291
291
|
- `md5(text)` / `sha256(text)` / `hmac_sha256(text, secret)` - 哈希函数
|
|
292
|
-
- `aes_encrypt()` / `aes_decrypt()` - AES-CBC/ECB 文本门面(字节核心在 `infrastructure/crypto/
|
|
292
|
+
- `aes_encrypt()` / `aes_decrypt()` - AES-CBC/ECB 文本门面(字节核心在 `infrastructure/crypto/_aes.py`,需 `crypto` 可选依赖)
|
|
293
293
|
- `compute_sign(params, secret)` - API 参数签名(支持 MD5/SHA256/HMAC-SHA256)
|
|
294
294
|
- `get_public_ip()` - 公网出口 IP 探测
|
|
295
295
|
|
{df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/national-crypto-design.md
RENAMED
|
@@ -48,7 +48,7 @@ SM3 一次性和增量摘要;HMAC-SM3;SM4-GCM 与 CBC/ECB 协议互操作。
|
|
|
48
48
|
它是新 API 的便利门面,不是已删除旧接口的兼容包装。
|
|
49
49
|
|
|
50
50
|
**结构规则(2026-09-22 评审决定,本批已落实)**:`infrastructure/crypto/` 是所有密码原语的唯一归属,
|
|
51
|
-
helpers 只放文本/编码门面。AES 已同批归位:`crypto/
|
|
51
|
+
helpers 只放文本/编码门面。AES 已同批归位:`crypto/_aes.py` 字节核心(pycryptodome,`crypto` extra),
|
|
52
52
|
`helpers/crypto.py` 保留原 `aes_encrypt/aes_decrypt` 签名只做编码转换。`crypto` 包按子模块懒加载,
|
|
53
53
|
导入包不绑定任何 extra,缺哪组依赖只影响对应算法。不得再向 helpers 新增算法实现。
|
|
54
54
|
|
|
@@ -150,13 +150,15 @@ SM4 nonce/IV 每次调用时传入,不保存在配置对象中。不自动生
|
|
|
150
150
|
## 6. 实现地图
|
|
151
151
|
|
|
152
152
|
以下路径均相对仓库根目录;公开入口可以从 `df_test_framework` 按需导入。
|
|
153
|
+
`crypto/` 下带下划线前缀的实现模块是私有的,只通过 `infrastructure.crypto` 包导入公共接口,
|
|
154
|
+
避免子模块与同名导出(如 `sm3`)互相遮蔽。
|
|
153
155
|
|
|
154
156
|
| 文件 | 实现职责 |
|
|
155
157
|
|---|---|
|
|
156
|
-
| `infrastructure/crypto/
|
|
157
|
-
| 同目录 `
|
|
158
|
+
| `infrastructure/crypto/_sm2.py`(位于 `src/df_test_framework/` 下) | 密钥对象、ASN.1、SM2 消息签名及密文格式 |
|
|
159
|
+
| 同目录 `_sm3.py`、`_sm4.py`、`_common.py` | 摘要/MAC、模式专用 SM4、字节类型校验 |
|
|
158
160
|
| `src/df_test_framework/infrastructure/helpers/national_crypto.py` | 文本/编码便捷对象与密钥加载器 |
|
|
159
|
-
| `src/df_test_framework/infrastructure/crypto/
|
|
161
|
+
| `src/df_test_framework/infrastructure/crypto/_aes.py`、`helpers/crypto.py` | AES 字节核心与保留签名的文本门面(`crypto` extra) |
|
|
160
162
|
| `src/df_test_framework/infrastructure/crypto/__init__.py` | 核心导出、缺 extra 的安装提示 |
|
|
161
163
|
| `src/df_test_framework/infrastructure/helpers/__init__.py` | 便捷层懒加载导出 |
|
|
162
164
|
| `src/df_test_framework/__init__.py` | 顶层懒加载及类型检查入口 |
|
{df_test_framework-4.10.2 → df_test_framework-4.10.3}/docs/architecture/test-type-support.md
RENAMED
|
@@ -80,7 +80,7 @@ class HttpClient:
|
|
|
80
80
|
def _execute_with_retry(self, method: str, url: str, **kwargs):
|
|
81
81
|
last_exception = None
|
|
82
82
|
|
|
83
|
-
for attempt in range(self.
|
|
83
|
+
for attempt in range(self._retries + 1):
|
|
84
84
|
try:
|
|
85
85
|
response = self._client.request(method, url, **kwargs)
|
|
86
86
|
|
|
@@ -88,17 +88,17 @@ class HttpClient:
|
|
|
88
88
|
if response.status_code < 500:
|
|
89
89
|
return response
|
|
90
90
|
|
|
91
|
-
if attempt < self.
|
|
91
|
+
if attempt < self._retries:
|
|
92
92
|
self._logger.warning(
|
|
93
93
|
f"请求失败 ({response.status_code}),"
|
|
94
94
|
f"将在 {self._retry_delay * (2 ** attempt)}s 后重试..."
|
|
95
95
|
)
|
|
96
96
|
except (httpx.ConnectError, httpx.TimeoutException) as e:
|
|
97
97
|
last_exception = e
|
|
98
|
-
if attempt < self.
|
|
98
|
+
if attempt < self._retries:
|
|
99
99
|
self._logger.warning(f"连接错误,将重试: {e}")
|
|
100
100
|
|
|
101
|
-
if attempt < self.
|
|
101
|
+
if attempt < self._retries:
|
|
102
102
|
delay = self._retry_delay * (2 ** attempt) # 指数退避
|
|
103
103
|
time.sleep(delay)
|
|
104
104
|
|
|
@@ -109,7 +109,7 @@ class HttpClient:
|
|
|
109
109
|
|
|
110
110
|
```python
|
|
111
111
|
class HTTPConfig(BaseModel):
|
|
112
|
-
|
|
112
|
+
retries: int = 3 # 最大重试次数
|
|
113
113
|
retry_delay: float = 1.0 # 初始重试延迟(秒)
|
|
114
114
|
retry_on_status: List[int] = [500, 502, 503, 504] # 重试的状态码
|
|
115
115
|
```
|
|
@@ -49,6 +49,8 @@
|
|
|
49
49
|
| 12 | ✅ 文档大修四篇(2026-08-20 完成:USER_MANUAL 导航型、TEST_EXECUTION_LIFECYCLE 七层模型重写、extension-points 合并 api-reference/extensions、BEST_PRACTICES 吸收 VERIFIED 实战模式并按 v4.9 API 更新;顺带更新 observability-architecture 现状标记) | 完成 | 2026-08-20 整理批次只做了"部分过时"警示头,完整重写待办:USER_MANUAL 瘦身为导航型(停止维护与 guides 重复的示例)、TEST_EXECUTION_LIFECYCLE 按七层模型重写(45KB)、extension-points 与 api-reference/extensions 合并、BEST_PRACTICES 深度合并(吸收 VERIFIED 的实战片段) |
|
|
50
50
|
| ~~14~~ | ~~PageMock 轮换/延迟响应~~(v4.9.23 已完成:route_json_sequence + 全注册方法 delay_ms,双轨镜像+对账) | ~~低~~ | yx-mixue 收敛批(2026-08-21)发现:PageMock 不支持按调用轮换响应与延迟响应,项目留 74 行扩展 tests/ui/page_mock_extensions.py(route_json_sequence/route_delayed_json)——第二个项目需要时下沉框架(双轨镜像 AsyncPageMock) |
|
|
51
51
|
| 13 | 统一推送远端 | **待用户确认** | v4.9.11 起本地累积提交(GitHub Actions 额度约束),一次 push origin master |
|
|
52
|
+
| 15 | [HTTP 接口支持面设计](http-client-interface-plan.md) | 中 | 后续讨论草案,不扩大 v4.10.3 收尾范围。多值查询参数被压成 `?a=2` 的缺陷已于 v4.10.3 修复;后续按 extensions、认证策略与 auth、Cookie 管理、流式接口及其余参数表达能力推进;客户端默认跟随重定向保持不变。详细边界、待定项和验收要求见方案,排期另定 |
|
|
53
|
+
| 16 | 消费项目迁移至 4.10.3 | 高(发布后) | Master/FSC:`max_retries`→`retries`(属性读取、构造参数、`model_copy` 键、测试桩、YAML、`HTTP__MAX_RETRIES` 文档),写接口改按请求声明 `retries=0`;切换前以本地源码跑单元、`--collect-only` 与代表性 API 用例,确认无未知参数 TypeError |
|
|
52
54
|
|
|
53
55
|
## 已决策记录
|
|
54
56
|
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# HTTP 客户端接口支持面方案
|
|
2
|
+
|
|
3
|
+
> 状态:讨论草案,供后续实现评审;不代表已实现能力或排期承诺。
|
|
4
|
+
> 整理日期:2026-11-04。
|
|
5
|
+
> 入口:[Backlog 第 15 项](BACKLOG.md)。当前可用接口以
|
|
6
|
+
> [HTTP 客户端指南](../guides/http_client_guide.md) 为准。
|
|
7
|
+
|
|
8
|
+
## 1. 与 v4.10.3 的边界
|
|
9
|
+
|
|
10
|
+
v4.10.3 已纳入未知请求参数报错、单请求 `follow_redirects` 生效、多值查询参数修复及 HTTP 重试统一。
|
|
11
|
+
本方案记录后续支持面设计,不扩大该版本的收尾范围,也不要求先完成本方案才能发布。
|
|
12
|
+
版本交付与迁移范围见 [v4.10.3 发布说明](../releases/v4.10.3.md)。
|
|
13
|
+
|
|
14
|
+
框架默认跟随重定向的行为保持不变。最早的初始化提交 `4f81ff5` 已显式配置
|
|
15
|
+
`follow_redirects=True`,[早期优化报告](../archive/v1/optimization-report.md)
|
|
16
|
+
也将自动跟踪重定向列为已有能力。没有找到当初选择该默认值的详细理由。
|
|
17
|
+
讨论中的“测试客户端默认不跟随更便于观察原始响应”是一个建议,未采纳为本框架的新默认。
|
|
18
|
+
需要检查原始 301/302 响应时,使用单请求 `follow_redirects=False`。
|
|
19
|
+
|
|
20
|
+
## 2. 问题与设计目标
|
|
21
|
+
|
|
22
|
+
历史请求链路接收 `**kwargs`,提取部分字段构造框架 Request,中间件处理后再组装
|
|
23
|
+
httpx 参数。没有进入 Request 的参数不会到达传输层,又未检查剩余参数,因而被静默忽略。
|
|
24
|
+
提交 `d4c7a94`(v3.20.0)补入 `files/content`,`253742b`(v4.1.2)补入单请求
|
|
25
|
+
`timeout`,说明支持面曾逐步接通;这些记录不能证明静默忽略是一项有意的扩展设计。
|
|
26
|
+
|
|
27
|
+
设计目标同时包含两点:
|
|
28
|
+
|
|
29
|
+
- 不认识或放错层级的顶层参数应明确报错,避免实际请求偏离用例声明。
|
|
30
|
+
- 通用 HTTP 能力应有正式入口,不能仅因“当前项目没用”或“目前没接通”而永久排除。
|
|
31
|
+
|
|
32
|
+
`**kwargs` 只是传参形式,不是完整支持底层能力的保证。公开接口应有清晰签名、类型与
|
|
33
|
+
文档;便捷方法可透传到统一入口。支持范围与严格校验分别设计,不用放开任意 kwargs
|
|
34
|
+
替代能力建设,也不把当前校验集合当成永久能力上限。
|
|
35
|
+
|
|
36
|
+
## 3. 建议的能力边界
|
|
37
|
+
|
|
38
|
+
以下是目标设计,不是 v4.10.3 的支持列表。实施前应先核对当前行为,已有能力不重复建设。
|
|
39
|
+
|
|
40
|
+
| 能力 | 建议归属 | 必须保留的语义 |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `method`、`url`、`params`、`headers` | 请求级 | 多值查询参数、重复请求头能够表达,不强制压成普通字典 |
|
|
43
|
+
| `json`、`data`、`content`、`files` | 请求级 | JSON 对象/数组/标量、表单、原始内容、文件上传;不改变原始字节 |
|
|
44
|
+
| `timeout` | 客户端默认值与单请求覆盖 | 简单秒数、分阶段超时;省略继承与显式禁用应有区别(当前单请求 `None`、`httpx.Timeout` 原样到达传输层,实施时先核对,可能只需补契约测试与文档) |
|
|
45
|
+
| `follow_redirects` | 客户端默认值与单请求覆盖 | 框架默认 True,本次 False 有效;是否增加构造/配置入口另行评审 |
|
|
46
|
+
| `auth` | 客户端策略与单请求选择 | 标准和自定义认证;与框架认证注入使用明确的选择规则 |
|
|
47
|
+
| Cookie | 客户端容器与管理接口 | 域、路径、持久化、重定向语义;不通过临时修改共享容器模拟单请求覆盖 |
|
|
48
|
+
| `extensions` | 请求级高级入口 | 保留 transport 扩展空间,与框架 metadata 分开 |
|
|
49
|
+
| TLS、代理、连接池、HTTP/2、transport | 客户端构造级 | 连接与资源的生命周期属于客户端,不作为任意单请求参数传递 |
|
|
50
|
+
| 流式传输 | 独立 `stream()` 接口 | 上下文管理、分段读取、关闭责任;框架不能预先完整读取响应 |
|
|
51
|
+
| `retries` 等框架策略 | 框架执行层 | 与 HTTP 参数分清职责,仍经过统一中间件和观测链路 |
|
|
52
|
+
|
|
53
|
+
名称接通不代表完整支持:还要检查参数值经过模型、签名中间件、事件与传输层时是否
|
|
54
|
+
丢失信息。请求体为 JSON 数组、重复参数或原始字节时,不应被框架转换成另一种请求。
|
|
55
|
+
|
|
56
|
+
## 4. 后续能力的具体建议
|
|
57
|
+
|
|
58
|
+
### 4.1 `extensions`:建议接通
|
|
59
|
+
|
|
60
|
+
在明确的 `extensions` 字典中保留传输层扩展,不对白名单之外的内部键一律拒绝。
|
|
61
|
+
框架负责传递,具体扩展是否有效由 transport 契约决定;不能承诺所有 transport
|
|
62
|
+
都理解任意扩展。框架自有上下文仍放在独立 metadata 中,避免两个命名空间混用。
|
|
63
|
+
与 `timeout` 等正式参数涉及同一控制项时,应遵循并说明底层优先级。
|
|
64
|
+
|
|
65
|
+
### 4.2 `auth`:建议支持,先定认证选择规则
|
|
66
|
+
|
|
67
|
+
已有 BearerToken 中间件不构成排除 Basic、Digest 或自定义认证的理由。
|
|
68
|
+
建议方向是:省略时继承客户端认证策略,显式 auth 时选择本次策略,不再由框架默认
|
|
69
|
+
认证注入覆盖它;显式禁用认证也应有明确表达。
|
|
70
|
+
|
|
71
|
+
实施前必须确定 `auth` 与 `token`、`skip_auth`、显式 Authorization 请求头的关系,
|
|
72
|
+
包括冲突时如何报错或选择。具体签名及“未指定”表示法尚未定稿,不以普通 None 同时
|
|
73
|
+
表达继承和禁用两种语义,也不依赖中间件先后执行来偶然决定最终认证。
|
|
74
|
+
|
|
75
|
+
Digest 等认证可能在 httpx 内部发生多轮网络交互,不能假定每轮都会重新进入框架
|
|
76
|
+
中间件。需要说明框架事件记录的是逻辑调用还是每次网络发送,并核对签名、重试及
|
|
77
|
+
脱敏的边界,不能把逻辑调用次数等同于实际发送次数。
|
|
78
|
+
|
|
79
|
+
### 4.3 Cookie:维持客户端管理方向
|
|
80
|
+
|
|
81
|
+
补齐必要的设置、读取、清理接口和语义说明,不新增单请求 `cookies=`。
|
|
82
|
+
精确构造某次 Cookie 请求头可使用 `headers`;这与完整 Cookie 容器管理不同。
|
|
83
|
+
实施时验证客户端容器、显式 Cookie 头与重定向的实际交互,不承诺二者任意叠加。
|
|
84
|
+
|
|
85
|
+
### 4.4 流式传输:独立设计接口
|
|
86
|
+
|
|
87
|
+
通过 `stream()` 明确响应生命周期,同步/异步保持对等,正常结束、异常或提前退出都
|
|
88
|
+
应释放资源。复用请求准备、认证与框架观测,不另建一条无观测的裸客户端旁路。
|
|
89
|
+
读取正文的责任交给调用者;事件和报告不能为了记录正文而耗尽流。
|
|
90
|
+
不可重放请求体及响应开始交付后的重试边界需要明确,不能直接套用普通请求自动重试。
|
|
91
|
+
|
|
92
|
+
### 4.5 参数表达能力:按链路补全(优先)
|
|
93
|
+
|
|
94
|
+
先检查 JSON 数组/标量、多值查询参数、文件/原始内容等现有语义,再处理重复请求头。
|
|
95
|
+
重复请求头可能影响 Request/Response 模型、中间件、脱敏和事件消费者,不能只改
|
|
96
|
+
客户端签名。对已正确支持的情况补足契约或文档,不为形式统一重新实现。
|
|
97
|
+
|
|
98
|
+
2026-11-04 用内存传输核对 v4.10.3 当前行为:
|
|
99
|
+
|
|
100
|
+
| 输入 | 实际发送 | 结论 |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| `params=[("a", "1"), ("a", "2")]` | `?a=2` | 已确认缺陷,**v4.10.3 已修复**:请求入口规范为字典,同名多值为列表 |
|
|
103
|
+
| `json=[1, 2]` | `[1,2]` | 运行时正确;`Request.json` 类型标注仅为 `dict`,需放宽并核对签名中间件假设 |
|
|
104
|
+
| `files` 内存文件 + `retries=1` | 两次发送请求体均完整 | 当前无问题,流式与生成器请求体另在 4.4 定边界 |
|
|
105
|
+
|
|
106
|
+
多值查询参数与“参数被静默丢弃”同属请求偏离用例声明且不报错,已并入 v4.10.3 修复:
|
|
107
|
+
请求入口统一规范为字典(同名多值为列表),不改变 `Request.params` 公开类型,
|
|
108
|
+
签名与事件中间件沿用字典取值;未采用 `httpx.QueryParams` 作为内部类型,因其会把值
|
|
109
|
+
转为字符串(如 `True`→`"true"`),改变签名输入。同批修复 `ApiKeyMiddleware`
|
|
110
|
+
查询参数模式在无 `params` 时的 `TypeError`。
|
|
111
|
+
|
|
112
|
+
## 5. 推进顺序与验收
|
|
113
|
+
|
|
114
|
+
已确认的多值查询参数失真已在 v4.10.3 修复。后续按 `extensions` → 认证策略与 `auth` → Cookie 接口补齐 → 流式接口 → 其余参数表达能力
|
|
115
|
+
(JSON 类型标注、重复请求头)推进。理由:前者是不报错的请求失真,后几项是能力缺口,
|
|
116
|
+
未接通时调用方会被明确拒绝。各项可独立评审,排期由维护者确定,不提前指定发布版本。
|
|
117
|
+
客户端连接选项按缺口另行核对,不把所有 HTTPX 构造参数一次性复制到配置模型。
|
|
118
|
+
|
|
119
|
+
每项实现至少确认:
|
|
120
|
+
|
|
121
|
+
- 同步/异步公开接口和行为一致,未知顶层参数仍在发送前报错。
|
|
122
|
+
- 参数实际到达传输层且改变对应行为,而非只断言内部字典出现某个键。
|
|
123
|
+
- 客户端默认值、单请求覆盖、显式禁用的行为清晰;合并规则按参数分别定义。
|
|
124
|
+
- 中间件、重试、事件、脱敏和资源释放仍成立;涉及认证多轮和流式传输时验证真实协议行为。
|
|
125
|
+
- 指南、类型注解、必要的配置/工厂与迁移说明同步,代表性消费入口可用。
|
|
126
|
+
|
|
127
|
+
## 6. 参考资料
|
|
128
|
+
|
|
129
|
+
- [框架设计标准](../architecture/DESIGN_STANDARDS.md):公开 API、双轨、执行核心与资源约束。
|
|
130
|
+
- [HTTPX API](https://www.python-httpx.org/api/):客户端构造、请求与流式接口。
|
|
131
|
+
- [HTTPX Clients](https://www.python-httpx.org/advanced/clients/):客户端与请求配置的合并。
|
|
132
|
+
- [HTTPX Authentication](https://www.python-httpx.org/advanced/authentication/):标准及自定义认证。
|
|
133
|
+
- [HTTPX Extensions](https://www.python-httpx.org/advanced/extensions/):传输扩展空间。
|
|
134
|
+
- [HTTPX Compatibility](https://www.python-httpx.org/compatibility/):重定向、Cookie 与流式行为。
|