62 lines
8.0 KiB
Plaintext
62 lines
8.0 KiB
Plaintext
test_configured_dify_vision_receives_uploaded_screenshot (test_gateway_guard_audit.GuardEndpointAudit.test_configured_dify_vision_receives_uploaded_screenshot) ... ok
|
|
test_disabled_vision_uses_primary_compatibility (test_gateway_guard_audit.GuardEndpointAudit.test_disabled_vision_uses_primary_compatibility) ... ok
|
|
test_guard_calls_only_vision_and_never_customer_judge (test_gateway_guard_audit.GuardEndpointAudit.test_guard_calls_only_vision_and_never_customer_judge) ... ok
|
|
test_guard_failure_does_not_silently_switch_to_chat_answers (test_gateway_guard_audit.GuardEndpointAudit.test_guard_failure_does_not_silently_switch_to_chat_answers) ... ok
|
|
test_guard_without_vision_keeps_legacy_primary_compatibility (test_gateway_guard_audit.GuardEndpointAudit.test_guard_without_vision_keeps_legacy_primary_compatibility) ... ok
|
|
test_normal_image_chat_retains_answer_fanout_and_judge (test_gateway_guard_audit.GuardEndpointAudit.test_normal_image_chat_retains_answer_fanout_and_judge) ... ok
|
|
test_comfyui_is_not_a_guard_vision_model (test_gateway_guard_audit.GuardPlanAudit.test_comfyui_is_not_a_guard_vision_model) ... ok
|
|
test_guard_selects_only_configured_vision_and_no_judge (test_gateway_guard_audit.GuardPlanAudit.test_guard_selects_only_configured_vision_and_no_judge) ... ok
|
|
test_guard_without_usable_vision_falls_back_to_primary_only (test_gateway_guard_audit.GuardPlanAudit.test_guard_without_usable_vision_falls_back_to_primary_only) ... ok
|
|
test_guard_works_with_vision_even_without_answer_roles (test_gateway_guard_audit.GuardPlanAudit.test_guard_works_with_vision_even_without_answer_roles) ... ok
|
|
test_normal_chat_plan_is_unchanged (test_gateway_guard_audit.GuardPlanAudit.test_normal_chat_plan_is_unchanged) ... ok
|
|
test_exact_endpoint_is_used_for_upload_root_and_chat (test_gateway_failure_audit.GatewayFailureAudit.test_exact_endpoint_is_used_for_upload_root_and_chat) ... ok
|
|
test_multiple_images_preserve_order_mime_bytes_and_same_user (test_gateway_failure_audit.GatewayFailureAudit.test_multiple_images_preserve_order_mime_bytes_and_same_user) ... ok
|
|
test_old_turn_attachment_is_not_uploaded_for_a_text_followup (test_gateway_failure_audit.GatewayFailureAudit.test_old_turn_attachment_is_not_uploaded_for_a_text_followup) ... ok
|
|
test_plain_text_does_not_upload (test_gateway_failure_audit.GatewayFailureAudit.test_plain_text_does_not_upload) ... ok
|
|
test_remote_image_uses_file_reference_without_local_fetch (test_gateway_failure_audit.GatewayFailureAudit.test_remote_image_uses_file_reference_without_local_fetch) ... ok
|
|
test_same_inline_and_legacy_image_is_only_uploaded_once (test_gateway_failure_audit.GatewayFailureAudit.test_same_inline_and_legacy_image_is_only_uploaded_once) ... ok
|
|
test_upload_http_failure_is_local_to_dify_outlet (test_gateway_failure_audit.GatewayFailureAudit.test_upload_http_failure_is_local_to_dify_outlet) ... ok
|
|
test_upload_invalid_json_is_local_to_dify_outlet (test_gateway_failure_audit.GatewayFailureAudit.test_upload_invalid_json_is_local_to_dify_outlet) ... ok
|
|
test_upload_non_object_json_is_local_to_dify_outlet (test_gateway_failure_audit.GatewayFailureAudit.test_upload_non_object_json_is_local_to_dify_outlet) ... ok
|
|
test_upload_transport_failure_is_local_to_dify_outlet (test_gateway_failure_audit.GatewayFailureAudit.test_upload_transport_failure_is_local_to_dify_outlet) ... ok
|
|
test_a_broken_database_keeps_the_previous_catalog (test_model_gateway.CatalogTest.test_a_broken_database_keeps_the_previous_catalog) ... ok
|
|
test_a_disabled_outlet_disappears_from_the_plan (test_model_gateway.CatalogTest.test_a_disabled_outlet_disappears_from_the_plan) ... ok
|
|
test_a_second_write_with_the_same_task_id_refreshes_data_but_keeps_review_reason (test_model_gateway.CatalogTest.test_a_second_write_with_the_same_task_id_refreshes_data_but_keeps_review_reason)
|
|
桌面端可能先落盘(它知道审核规则命中原因,网关不知道)——网关补写权威数据时不能把这个原因擦掉。 ... ok
|
|
test_comfyui_never_enters_the_answer_pool (test_model_gateway.CatalogTest.test_comfyui_never_enters_the_answer_pool) ... ok
|
|
test_keys_are_decrypted_for_the_gateway_only (test_model_gateway.CatalogTest.test_keys_are_decrypted_for_the_gateway_only) ... ok
|
|
test_the_call_log_also_keeps_customer_and_reply_text (test_model_gateway.CatalogTest.test_the_call_log_also_keeps_customer_and_reply_text)
|
|
跟踪问题要能看到"客户说了什么、模型答了什么",不能只有分数。 ... ok
|
|
test_the_call_log_lands_in_the_shared_table (test_model_gateway.CatalogTest.test_the_call_log_lands_in_the_shared_table) ... ok
|
|
test_a_guard_request_is_stored_as_an_internal_call (test_model_gateway.GatewayEndpointTest.test_a_guard_request_is_stored_as_an_internal_call) ... ok
|
|
test_a_missing_desktop_session_is_rejected (test_model_gateway.GatewayEndpointTest.test_a_missing_desktop_session_is_rejected) ... ok
|
|
test_a_normal_request_returns_reply_candidates_and_verdict (test_model_gateway.GatewayEndpointTest.test_a_normal_request_returns_reply_candidates_and_verdict) ... ok
|
|
test_a_real_request_stores_what_the_customer_said_and_what_the_model_answered (test_model_gateway.GatewayEndpointTest.test_a_real_request_stores_what_the_customer_said_and_what_the_model_answered)
|
|
这就是"记录模型返回的话"这件事的端到端证明。 ... ok
|
|
test_all_upstreams_down_returns_502_not_a_fake_reply (test_model_gateway.GatewayEndpointTest.test_all_upstreams_down_returns_502_not_a_fake_reply) ... ok
|
|
test_candidates_are_asked_in_parallel (test_model_gateway.GatewayEndpointTest.test_candidates_are_asked_in_parallel) ... ok
|
|
test_health_reports_breakers_and_the_active_plan (test_model_gateway.GatewayEndpointTest.test_health_reports_breakers_and_the_active_plan) ... ok
|
|
test_the_same_idempotency_key_is_not_charged_twice (test_model_gateway.GatewayEndpointTest.test_the_same_idempotency_key_is_not_charged_twice) ... ok
|
|
test_a_single_candidate_always_wins (test_model_gateway.JudgeTest.test_a_single_candidate_always_wins) ... ok
|
|
test_no_judge_configured_is_a_cheap_no_op (test_model_gateway.JudgeTest.test_no_judge_configured_is_a_cheap_no_op) ... ok
|
|
test_reads_the_verdict (test_model_gateway.JudgeTest.test_reads_the_verdict) ... ok
|
|
test_unparseable_output_does_not_participate (test_model_gateway.JudgeTest.test_unparseable_output_does_not_participate) ... ok
|
|
test_a_4xx_is_never_retried (test_model_gateway.OutletCallTest.test_a_4xx_is_never_retried) ... ok
|
|
test_a_failing_outlet_eventually_trips_the_breaker (test_model_gateway.OutletCallTest.test_a_failing_outlet_eventually_trips_the_breaker) ... ok
|
|
test_a_hung_upstream_is_cut_at_the_deadline (test_model_gateway.OutletCallTest.test_a_hung_upstream_is_cut_at_the_deadline) ... ok
|
|
test_a_normal_call_returns_text_and_latency (test_model_gateway.OutletCallTest.test_a_normal_call_returns_text_and_latency) ... ok
|
|
test_a_retriable_status_is_retried_once (test_model_gateway.OutletCallTest.test_a_retriable_status_is_retried_once) ... ok
|
|
test_the_breaker_half_opens_after_cooling_down (test_model_gateway.OutletCallTest.test_the_breaker_half_opens_after_cooling_down) ... ok
|
|
test_the_inflight_gate_caps_concurrency_per_outlet (test_model_gateway.OutletCallTest.test_the_inflight_gate_caps_concurrency_per_outlet) ... ok
|
|
test_a_fully_written_url_is_not_appended_to (test_model_gateway.ProtocolShapeTest.test_a_fully_written_url_is_not_appended_to) ... ok
|
|
test_claude_payload_lifts_system_and_forces_max_tokens (test_model_gateway.ProtocolShapeTest.test_claude_payload_lifts_system_and_forces_max_tokens) ... ok
|
|
test_comfyui_is_not_a_chat_kind (test_model_gateway.ProtocolShapeTest.test_comfyui_is_not_a_chat_kind) ... ok
|
|
test_dify_payload_carries_query_and_user_not_messages (test_model_gateway.ProtocolShapeTest.test_dify_payload_carries_query_and_user_not_messages) ... ok
|
|
test_each_kind_lands_on_its_own_endpoint (test_model_gateway.ProtocolShapeTest.test_each_kind_lands_on_its_own_endpoint) ... ok
|
|
test_parsers_raise_instead_of_returning_an_empty_string (test_model_gateway.ProtocolShapeTest.test_parsers_raise_instead_of_returning_an_empty_string) ... ok
|
|
|
|
----------------------------------------------------------------------
|
|
Ran 53 tests in 24.288s
|
|
|
|
OK
|