tigrbl_tests 0.3.12.dev7__tar.gz → 0.3.12.dev8__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.
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/PKG-INFO +1 -1
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/pyproject.toml +1 -1
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_transport_dispatch_convergence.py +7 -0
- tigrbl_tests-0.3.12.dev8/tests/harness_v3/test_route_runtime_fallback_atoms.py +114 -0
- tigrbl_tests-0.3.12.dev8/tests/i9n/test_uvicorn_transport_behavior.py +150 -0
- tigrbl_tests-0.3.12.dev8/tests/unit/runtime/test_payload_select_invalid_rpc_params.py +27 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_jsonrpc_openrpc.py +48 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/LICENSE +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/README.md +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/__init__.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_atoms_do_not_depend_on_mapping.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_import_graph_audit.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_no_bindings_imports.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_operation_resolution_parity.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_runtime_structure.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_trace_plan_parity.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_transport_boundaries.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/conftest.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness/test_00_appspec_contract.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness/test_01_kernel_plan_compilation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness/test_02_bootstrap_plan.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness/test_03_appspec_uvicorn_e2e.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_e2e/test_00_appspec_uvicorn_rest_rpc.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_e2e/test_01_imperative_uvicorn_rest_rpc.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/__init__.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/_support.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_appspec_prefixes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_bootstrap_kernel_compilation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_default_opspec_bindings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_kernel_plan_routing.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_mapping_plan_compilation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_route_rpc_prebinding.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_uvicorn_e2e_appspec.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/hooks/test_hook_ctx_phase_validation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/__init__.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_acronym_route_name.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_allow_anon.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_apikey_generation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_authn_provider_integration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_bindings_integration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_bindings_modules.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_bulk_docs_client.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_core_access.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_engine_install_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_engine_resolver_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_error_mappings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_field_spec_effects.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_header_io_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_healthz_methodz_hookz.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_hook_ctx_v3_i9n.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_hook_lifecycle.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_iospec_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_iospec_integration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_jsonrpc_batch_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_key_digest_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_list_filters_optional.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mixins.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_favicon_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_lens_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_openapi_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_openrpc_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_swagger_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_nested_path_schema_and_rpc.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_nested_routing_depth.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_op_ctx_alias_examples.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_op_ctx_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_op_ctx_core_crud_order.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_op_ctx_uvicorn_scopes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_openapi_clear_response_schema.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_openapi_schema_examples_presence.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_opspec_effects_i9n_test.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_opspec_pre_tx_deps.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_owner_tenant_policy.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_request_extras.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_request_extras_provider.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_response_extras_provider.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_rest_fallback_serialization.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_rest_row_serialization.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_rest_rpc_parity_v3.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_row_result_serialization.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_schema.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_schema_ctx_attributes_integration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_schema_ctx_op_ctx_integration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_schema_ctx_spec_integration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_sqlite_attachments.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_storage_spec_integration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_symmetry_parity.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_api_app_usage_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_api_usage_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_api_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_app_include_api_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_app_multi_api_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_app_usage_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_app_uvicorn.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_transport_dispatch_parity.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_types_deprecation_exports.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_v3_bulk_rest_endpoints.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_v3_default_rest_ops.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_v3_default_rpc_ops.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_v3_opspec_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_verb_alias_policy.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/uvicorn_utils.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/mount/__init__.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/mount/test_mount_favico.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/options/test_rest_options.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/options/test_rpc_options.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/parity/__init__.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/parity/test_hook_runtime_phase_parity.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/parity/test_stdapi_openapi_docs.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/parity/test_stdapi_primitives.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/parity/test_stdapi_routing.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/perf/__init__.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/perf/test_collect_caching.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/perf/test_hookz_performance.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/perf/test_methodz_performance.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/request/test_request_asgi_scope_compat.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/request/test_request_authn_strip.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/request/test_request_dot_notation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/request/test_request_response_conveniences.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/request/test_request_transport_convenience_dot_notation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/requests/test_request_json_modes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/response/test_response_dot_notation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/response/test_response_transport_convenience_dot_notation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/security/test_dot_notation_schemes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/security/test_schemes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/test_secdeps_execute_in_pre_tx.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/__init__.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/decorators/test_alias_ctx_bindings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/decorators/test_engine_ctx_bindings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/decorators/test_hook_ctx_bindings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/decorators/test_op_alias_bindings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/decorators/test_op_ctx_bindings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/decorators/test_response_ctx_bindings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/decorators/test_schema_ctx_bindings.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/response_utils.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_emit_paired_post.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_emit_paired_pre.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_emit_readtime_alias.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_out_masking.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_refresh_demand.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_resolve_assemble.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_resolve_paired_gen.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_route_protocol_detect.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_schema_collect_in.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_schema_collect_out.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_storage_to_stored.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_wire_build_in.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_wire_build_out.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_wire_dump.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/atoms/test_wire_validate_in.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_compilation_runtime_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_events_phases.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_events_runtime_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_ingress_egress_phase_access.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_kernel_plan_event_ordering.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_kernel_plan_full_ordering.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_kernel_runtime_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_ordering_runtime_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/runtime/test_payload_select_header_merge.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_acol_vcol_knobs.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_alias_ctx_op_alias_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_alias_ctx_op_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_api_level_set_auth.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_app_model_defaults.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_app_reexport.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_attrdict_vs_simplenamespace.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_authorize_runtime_secdep.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_base_columnspec_inheritance.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_base_facade_initialize.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_build_list_params_spec_model.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_bulk_body_annotation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_bulk_response_schema.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_colspec_map_isolation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_column_collect_mixins.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_column_mro_collect_namespace.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_column_rest_rpc_results.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_column_table_orm_binding.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_config_dataclass_none.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_core_crud_bulk_ops.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_core_crud_default_ops.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_core_crud_methods.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_core_wrap_memoization.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_db_dependency.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_decorator_and_collect.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_default_schema_selection.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_default_tags.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_diagnostics_no_compat_module.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_docs_security_parity.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_engine_install_api.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_engine_install_app.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_engine_install_op.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_engine_install_table.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_engine_session_database_availability.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_engine_spec_and_shortcuts.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_engine_usage_levels.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_field_spec_attrs.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_file_response.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_get_schema.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_handler_step_qualname.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_hook_ctx_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_hook_ctx_binding.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_hookz_empty_phase.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_hybrid_session_run_sync.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_in_tx.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_include_model_columns_namespace.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_include_models_base_prefix.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_include_tables_base_prefix.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_initialize_async_task.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_initialize_cross_ddl.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_initialize_mixed_engines.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_initialize_task_schedule.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_instance_naming_conventions.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_io_spec_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_iospec_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_iospec_effects.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_jsonrpc_id_example.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_jsonrpc_router_default_tag.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_kernel_invoke_ctx.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_kernel_opview_on_demand.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_kernel_plan_labels.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_kernelz_endpoint.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_make_column_shortcuts.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_mapping_bind_response_export.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_mapping_plan_precedence.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_middleware_http_and_cors.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_mixins_sqlalchemy.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_alias.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_class_engine_binding.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_ctx_arity_paths.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_ctx_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_ctx_core_crud_integration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_ctx_custom_target_persist.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_ctx_dynamic_attach.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_ctx_parameter_matrix.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_op_ctx_persist_options.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_openapi_documentation_security_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_openapi_openrpc_schema_separation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_openrpc_documentation_security_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_opspec_effects.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_postgres_engine_errors.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_postgres_env_vars.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_relationship_alias_cols.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_request_body_schema.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_request_response_examples.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_resolver_interning_warmup.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_resolver_precedence.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_alias_table_rpc.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_ctx_precedence.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_diagnostics_kernelz.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_html_jinja_behavior.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_parity.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_rest.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_rpc.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_template.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_response_uuid.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_all_default_op_verbs.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_bulk_delete_suppresses_clear.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_no_schema_jsonable.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_operation_id_uniqueness.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_output_serialization_extras.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_request_mapping_access.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_rpc_parity_default_ops.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_rpc_prefixes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rest_rpc_symmetry.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_router_compatibility_shims.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_router_dependency_execution_blocked.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rpc_all_default_op_verbs.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_rpc_default_ops.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_schema_ctx_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_schema_ctx_plain_class.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_schema_spec_presence.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_schemas_binding.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_security_per_route.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_should_wire_canonical.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_api.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_app.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_column.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_engine.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_field.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_hook.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_io.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_op.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_storage.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_spec_table.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_sqlite_attachments.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_sqlite_uuid_type.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_stdapi_request_injection.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_stdapi_transport_asgi_wsgi.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_storage_spec_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_sys_handler_crud.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_sys_run_rollback.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_sys_tx_async_begin.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_sys_tx_begin.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_sys_tx_commit.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_system_docs_builders.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_table_base_exports.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_table_collect_spec.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_table_columns_namespace.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_table_model_attribute_contract.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_table_namespace_init.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_table_namespace_isolation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_api_app_configuration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_api_app_instantiation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_api_app_subclass_definition.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_api_configuration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_api_instantiation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_api_subclass_definition.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_app_configuration.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_app_event_handlers.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_app_instantiation.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_app_state.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_tigrbl_app_subclass_definition.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_transport_gw_contract.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_transport_security_runtime_only.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_v3_favicon_endpoint.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_v3_healthz_endpoint.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_v3_op_alias.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_v3_op_ctx_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_v3_schemas_and_decorators.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_v3_storage_spec_attributes.py +0 -0
- {tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/unit/test_verbosity.py +0 -0
|
@@ -29,6 +29,13 @@ def test_gateway_invoke_invokes_runtime_kernel_plan_and_executor():
|
|
|
29
29
|
assert "await _invoke(" in source
|
|
30
30
|
|
|
31
31
|
|
|
32
|
+
def test_gateway_invoke_uses_runtime_atoms_for_fallback_and_errors():
|
|
33
|
+
source = _source("runtime/gw/invoke.py")
|
|
34
|
+
assert "_runtime_route_handler" in source
|
|
35
|
+
assert "_error_to_transport" in source
|
|
36
|
+
assert "except Exception" not in source
|
|
37
|
+
|
|
38
|
+
|
|
32
39
|
def test_mapping_does_not_import_dispatch_modules():
|
|
33
40
|
rest_collection = ROOT / "mapping" / "rest" / "collection.py"
|
|
34
41
|
rest_member = ROOT / "mapping" / "rest" / "member.py"
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import re
|
|
4
|
+
|
|
5
|
+
import pytest
|
|
6
|
+
from types import SimpleNamespace
|
|
7
|
+
|
|
8
|
+
from tigrbl.runtime.atoms.route import jsonrpc_batch_intercept, op_resolve
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def _ctx_for_route(*, method: str, path: str, routes: list[object]):
|
|
12
|
+
request = SimpleNamespace(method=method, path=path, url=SimpleNamespace(path=path))
|
|
13
|
+
return SimpleNamespace(
|
|
14
|
+
temp={"route": {}},
|
|
15
|
+
request=request,
|
|
16
|
+
app=SimpleNamespace(routes=routes),
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_op_resolve_discovers_runtime_route_handler() -> None:
|
|
21
|
+
captured = {"ok": True}
|
|
22
|
+
|
|
23
|
+
def handler() -> dict[str, bool]:
|
|
24
|
+
return captured
|
|
25
|
+
|
|
26
|
+
route = SimpleNamespace(
|
|
27
|
+
pattern=re.compile(r"^/items/(?P<item_id>[^/]+)$"),
|
|
28
|
+
methods={"GET"},
|
|
29
|
+
handler=handler,
|
|
30
|
+
)
|
|
31
|
+
ctx = _ctx_for_route(method="GET", path="/items/abc", routes=[route])
|
|
32
|
+
|
|
33
|
+
op_resolve.run(None, ctx)
|
|
34
|
+
|
|
35
|
+
route_ns = ctx.temp["route"]
|
|
36
|
+
assert route_ns["handler"] is handler
|
|
37
|
+
assert route_ns["path_params"] == {"item_id": "abc"}
|
|
38
|
+
assert route_ns.get("method_not_allowed") is None
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def test_op_resolve_marks_method_not_allowed_for_runtime_route() -> None:
|
|
42
|
+
route = SimpleNamespace(
|
|
43
|
+
pattern=re.compile(r"^/items/(?P<item_id>[^/]+)$"),
|
|
44
|
+
methods={"GET"},
|
|
45
|
+
handler=lambda: {"ok": True},
|
|
46
|
+
)
|
|
47
|
+
ctx = _ctx_for_route(method="POST", path="/items/abc", routes=[route])
|
|
48
|
+
|
|
49
|
+
op_resolve.run(None, ctx)
|
|
50
|
+
|
|
51
|
+
route_ns = ctx.temp["route"]
|
|
52
|
+
assert route_ns.get("handler") is None
|
|
53
|
+
assert route_ns["method_not_allowed"] is True
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def test_op_resolve_finds_opmeta_index_from_proto_and_selector() -> None:
|
|
57
|
+
ctx = SimpleNamespace(
|
|
58
|
+
temp={"route": {}},
|
|
59
|
+
proto="http.jsonrpc",
|
|
60
|
+
selector="Widget.create",
|
|
61
|
+
kernel_plan=SimpleNamespace(
|
|
62
|
+
opmeta=[SimpleNamespace(alias="create", model=object, target="create")],
|
|
63
|
+
opkey_to_meta={},
|
|
64
|
+
),
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
# SimpleNamespace is unhashable; use tiny hashable opkey object.
|
|
68
|
+
class _OpKey:
|
|
69
|
+
def __init__(self, proto: str, selector: str) -> None:
|
|
70
|
+
self.proto = proto
|
|
71
|
+
self.selector = selector
|
|
72
|
+
|
|
73
|
+
def __hash__(self) -> int:
|
|
74
|
+
return hash((self.proto, self.selector))
|
|
75
|
+
|
|
76
|
+
def __eq__(self, other: object) -> bool:
|
|
77
|
+
return (
|
|
78
|
+
isinstance(other, _OpKey)
|
|
79
|
+
and other.proto == self.proto
|
|
80
|
+
and other.selector == self.selector
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
ctx.kernel_plan.opkey_to_meta = {_OpKey("http.jsonrpc", "Widget.create"): 0}
|
|
84
|
+
|
|
85
|
+
op_resolve.run(None, ctx)
|
|
86
|
+
|
|
87
|
+
assert ctx.temp["route"]["opmeta_index"] == 0
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
@pytest.mark.asyncio
|
|
91
|
+
async def test_jsonrpc_batch_intercept_short_circuits_response() -> None:
|
|
92
|
+
class _App:
|
|
93
|
+
jsonrpc_prefix = "/rpc"
|
|
94
|
+
|
|
95
|
+
async def rpc_call(self, model: str, op: str, params: dict, **_: object):
|
|
96
|
+
return {"model": model, "op": op, "params": params}
|
|
97
|
+
|
|
98
|
+
payload = [
|
|
99
|
+
{"jsonrpc": "2.0", "method": "Widget.create", "params": {"name": "x"}, "id": 1}
|
|
100
|
+
]
|
|
101
|
+
ctx = SimpleNamespace(
|
|
102
|
+
payload=payload,
|
|
103
|
+
app=_App(),
|
|
104
|
+
raw=SimpleNamespace(scope={"path": "/rpc"}),
|
|
105
|
+
temp={"route": {}},
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
await jsonrpc_batch_intercept.run(None, ctx)
|
|
109
|
+
|
|
110
|
+
route = ctx.temp["route"]
|
|
111
|
+
response = ctx.temp["egress"]["transport_response"]
|
|
112
|
+
assert route["short_circuit"] is True
|
|
113
|
+
assert response["status_code"] == 200
|
|
114
|
+
assert response["body"][0]["result"]["op"] == "create"
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import asyncio
|
|
4
|
+
import json
|
|
5
|
+
import ssl
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
import pytest
|
|
10
|
+
from tigrbl import Request
|
|
11
|
+
from tigrbl import TigrblApp
|
|
12
|
+
from tigrbl import TigrblRouter
|
|
13
|
+
from tigrbl_tests.examples._support import pick_unique_port, start_uvicorn, stop_uvicorn
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
async def _probe_http3_over_quic(host: str, port: int) -> dict[str, Any]:
|
|
17
|
+
try:
|
|
18
|
+
from aioquic.asyncio.client import connect
|
|
19
|
+
from aioquic.quic.configuration import QuicConfiguration
|
|
20
|
+
except Exception:
|
|
21
|
+
return {
|
|
22
|
+
"supported": False,
|
|
23
|
+
"status": 0,
|
|
24
|
+
"error": "aioquic-not-installed",
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
configuration = QuicConfiguration(
|
|
28
|
+
is_client=True,
|
|
29
|
+
alpn_protocols=["h3"],
|
|
30
|
+
verify_mode=ssl.CERT_NONE,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
try:
|
|
34
|
+
async with asyncio.timeout(2.0):
|
|
35
|
+
async with connect(
|
|
36
|
+
host,
|
|
37
|
+
port,
|
|
38
|
+
configuration=configuration,
|
|
39
|
+
wait_connected=True,
|
|
40
|
+
):
|
|
41
|
+
return {"supported": True, "status": 200, "error": None}
|
|
42
|
+
except Exception as exc:
|
|
43
|
+
return {
|
|
44
|
+
"supported": False,
|
|
45
|
+
"status": 0,
|
|
46
|
+
"error": type(exc).__name__,
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@pytest.mark.asyncio
|
|
51
|
+
async def test_tigrblapp_uvicorn_h1_h2_h3_behavior() -> None:
|
|
52
|
+
app = TigrblApp()
|
|
53
|
+
|
|
54
|
+
router = TigrblRouter()
|
|
55
|
+
|
|
56
|
+
@router.get("/echo")
|
|
57
|
+
async def echo(request: Request) -> dict[str, Any]:
|
|
58
|
+
return {
|
|
59
|
+
"method": request.method,
|
|
60
|
+
"x_test": request.headers.get("x-test"),
|
|
61
|
+
"http_version": request.scope.get("http_version"),
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@router.post("/jsonrpc")
|
|
65
|
+
async def jsonrpc(request: Request) -> dict[str, Any]:
|
|
66
|
+
payload = json.loads(request.body.decode("utf-8") or "{}")
|
|
67
|
+
return {
|
|
68
|
+
"jsonrpc": "2.0",
|
|
69
|
+
"id": payload.get("id"),
|
|
70
|
+
"result": payload.get("params"),
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
app.include_router(router)
|
|
74
|
+
app.attach_diagnostics(prefix="")
|
|
75
|
+
|
|
76
|
+
port = pick_unique_port()
|
|
77
|
+
base_url, server, task = await start_uvicorn(app, port=port)
|
|
78
|
+
|
|
79
|
+
try:
|
|
80
|
+
async with httpx.AsyncClient(base_url=base_url, timeout=5.0) as client:
|
|
81
|
+
h1 = await client.get("/echo", headers={"x-test": "h1"})
|
|
82
|
+
|
|
83
|
+
h2: httpx.Response | None = None
|
|
84
|
+
h2_error: str | None = None
|
|
85
|
+
try:
|
|
86
|
+
async with httpx.AsyncClient(
|
|
87
|
+
base_url=base_url,
|
|
88
|
+
timeout=5.0,
|
|
89
|
+
http2=True,
|
|
90
|
+
) as client:
|
|
91
|
+
h2 = await client.get("/echo", headers={"x-test": "h2"})
|
|
92
|
+
except ImportError as exc:
|
|
93
|
+
h2_error = type(exc).__name__
|
|
94
|
+
|
|
95
|
+
async with httpx.AsyncClient(base_url=base_url, timeout=5.0) as client:
|
|
96
|
+
rpc = await client.post(
|
|
97
|
+
"/jsonrpc",
|
|
98
|
+
json={
|
|
99
|
+
"jsonrpc": "2.0",
|
|
100
|
+
"method": "echo",
|
|
101
|
+
"params": {"msg": "hi"},
|
|
102
|
+
"id": 1,
|
|
103
|
+
},
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
h3 = await _probe_http3_over_quic("127.0.0.1", port)
|
|
107
|
+
|
|
108
|
+
out = {
|
|
109
|
+
"http1": {
|
|
110
|
+
"status": h1.status_code,
|
|
111
|
+
"http_version": h1.http_version,
|
|
112
|
+
"body": h1.json(),
|
|
113
|
+
},
|
|
114
|
+
"http2": {
|
|
115
|
+
"status": h2.status_code if h2 else 0,
|
|
116
|
+
"http_version": h2.http_version if h2 else None,
|
|
117
|
+
"body": h2.json() if h2 else None,
|
|
118
|
+
"error": h2_error,
|
|
119
|
+
},
|
|
120
|
+
"jsonrpc": {
|
|
121
|
+
"status": rpc.status_code,
|
|
122
|
+
"http_version": rpc.http_version,
|
|
123
|
+
"body": rpc.json(),
|
|
124
|
+
},
|
|
125
|
+
"http3": h3,
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
assert out["http1"]["status"] == 200
|
|
129
|
+
assert out["http1"]["http_version"] == "HTTP/1.1"
|
|
130
|
+
assert out["http1"]["body"]["x_test"] == "h1"
|
|
131
|
+
|
|
132
|
+
if h2 is not None:
|
|
133
|
+
assert out["http2"]["status"] == 200
|
|
134
|
+
assert out["http2"]["http_version"] == "HTTP/1.1"
|
|
135
|
+
assert out["http2"]["body"]["x_test"] == "h2"
|
|
136
|
+
assert out["http2"]["error"] is None
|
|
137
|
+
else:
|
|
138
|
+
assert out["http2"]["status"] == 0
|
|
139
|
+
assert out["http2"]["error"] == "ImportError"
|
|
140
|
+
|
|
141
|
+
assert out["jsonrpc"]["status"] == 200
|
|
142
|
+
assert out["jsonrpc"]["body"] == {
|
|
143
|
+
"jsonrpc": "2.0",
|
|
144
|
+
"id": 1,
|
|
145
|
+
"result": {"msg": "hi"},
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
assert out["http3"]["supported"] is False
|
|
149
|
+
finally:
|
|
150
|
+
await stop_uvicorn(server, task)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from types import SimpleNamespace
|
|
2
|
+
|
|
3
|
+
from tigrbl.runtime.atoms.route import payload_select
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def test_payload_select_invalid_jsonrpc_string_params_returns_invalid_rpc_error():
|
|
7
|
+
ctx = SimpleNamespace(
|
|
8
|
+
temp={
|
|
9
|
+
"route": {
|
|
10
|
+
"rpc_envelope": {
|
|
11
|
+
"jsonrpc": "2.0",
|
|
12
|
+
"method": "Widget.create",
|
|
13
|
+
"params": "not-a-mapping",
|
|
14
|
+
"id": 1,
|
|
15
|
+
},
|
|
16
|
+
"params": {},
|
|
17
|
+
},
|
|
18
|
+
}
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
payload_select.run(None, ctx)
|
|
22
|
+
|
|
23
|
+
assert isinstance(ctx.temp["route"].get("payload"), dict)
|
|
24
|
+
assert ctx.payload == {}
|
|
25
|
+
assert ctx.temp.get("rpc_error", {}).get("code") == -32602
|
|
26
|
+
assert ctx.temp["rpc_error"]["message"] == "Invalid params"
|
|
27
|
+
assert ctx.temp["rpc_error"]["data"]["value_type"] == "str"
|
|
@@ -125,6 +125,54 @@ def test_mount_lens_uses_latest_openrpc_path_by_default() -> None:
|
|
|
125
125
|
assert "/schema/openrpc.json" in html
|
|
126
126
|
|
|
127
127
|
|
|
128
|
+
def test_default_system_docs_endpoints_are_present_and_gettable() -> None:
|
|
129
|
+
app, _ = _build_app()
|
|
130
|
+
transport = ASGITransport(app=app)
|
|
131
|
+
|
|
132
|
+
with Client(transport=transport, base_url="http://test") as client:
|
|
133
|
+
docs = client.get("/docs")
|
|
134
|
+
lens = client.get("/lens")
|
|
135
|
+
openapi = client.get("/openapi.json")
|
|
136
|
+
openrpc = client.get("/openrpc.json")
|
|
137
|
+
|
|
138
|
+
assert docs.status_code == 200
|
|
139
|
+
assert "text/html" in docs.headers.get("content-type", "")
|
|
140
|
+
assert "swagger-ui" in docs.text
|
|
141
|
+
|
|
142
|
+
assert lens.status_code == 200
|
|
143
|
+
assert "text/html" in lens.headers.get("content-type", "")
|
|
144
|
+
assert 'id="root"' in lens.text
|
|
145
|
+
|
|
146
|
+
assert openapi.status_code == 200
|
|
147
|
+
assert openapi.json()["openapi"] == "3.1.0"
|
|
148
|
+
|
|
149
|
+
assert openrpc.status_code == 200
|
|
150
|
+
assert openrpc.json()["openrpc"] == "1.2.6"
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
def test_docs_lens_openapi_openrpc_are_rest_get_only_and_not_rpc_methods() -> None:
|
|
154
|
+
app, _ = _build_app()
|
|
155
|
+
transport = ASGITransport(app=app)
|
|
156
|
+
|
|
157
|
+
route_map = {route.path: route for route in app.routes}
|
|
158
|
+
for path in ("/docs", "/lens", "/openapi.json", "/openrpc.json"):
|
|
159
|
+
assert path in route_map
|
|
160
|
+
assert set(route_map[path].methods or []) == {"GET"}
|
|
161
|
+
|
|
162
|
+
with Client(transport=transport, base_url="http://test") as client:
|
|
163
|
+
assert client.post("/docs").status_code == 405
|
|
164
|
+
assert client.post("/lens").status_code == 405
|
|
165
|
+
assert client.post("/openapi.json").status_code == 405
|
|
166
|
+
assert client.post("/openrpc.json").status_code == 405
|
|
167
|
+
|
|
168
|
+
method_names = {
|
|
169
|
+
method["name"] for method in client.get("/openrpc.json").json()["methods"]
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
for forbidden in ("docs", "lens", "openapi", "openrpc"):
|
|
173
|
+
assert all(forbidden not in name.lower() for name in method_names)
|
|
174
|
+
|
|
175
|
+
|
|
128
176
|
def test_openrpc_server_url_respects_router_mount_jsonrpc_prefix_argument():
|
|
129
177
|
class Widget(TableBase, GUIDPk):
|
|
130
178
|
__tablename__ = "widgets_openrpc_router_mount_prefix"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_import_graph_audit.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_no_bindings_imports.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_runtime_structure.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/architecture/test_trace_plan_parity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness/test_00_appspec_contract.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness/test_02_bootstrap_plan.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness/test_03_appspec_uvicorn_e2e.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_appspec_prefixes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_kernel_plan_routing.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_route_rpc_prebinding.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/harness_v3/test_uvicorn_e2e_appspec.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/hooks/test_hook_ctx_phase_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_authn_provider_integration.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_bindings_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_engine_install_uvicorn.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_engine_resolver_uvicorn.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_healthz_methodz_hookz.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_jsonrpc_batch_behavior.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_list_filters_optional.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_favicon_uvicorn.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_lens_uvicorn.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_openapi_uvicorn.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_openrpc_uvicorn.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_mountable_swagger_uvicorn.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_nested_path_schema_and_rpc.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_nested_routing_depth.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_op_ctx_alias_examples.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_op_ctx_core_crud_order.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_op_ctx_uvicorn_scopes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_opspec_effects_i9n_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_request_extras_provider.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_response_extras_provider.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_rest_fallback_serialization.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_rest_row_serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_row_result_serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_schema_ctx_spec_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_storage_spec_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_api_app_usage_uvicorn.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_api_usage_uvicorn.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_app_multi_api_uvicorn.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_tigrbl_app_usage_uvicorn.py
RENAMED
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_transport_dispatch_parity.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_types_deprecation_exports.py
RENAMED
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_v3_bulk_rest_endpoints.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tigrbl_tests-0.3.12.dev7 → tigrbl_tests-0.3.12.dev8}/tests/i9n/test_v3_opspec_attributes.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|