@@ -591,3 +591,61 @@ async def test_get_agent_no_tools_false_preserves_parser(
591591 tool_parser = mock_parser ,
592592 enable_session_persistence = True ,
593593 )
594+
595+
596+ @pytest .fixture (name = "config_with_override_disabled" )
597+ def config_with_override_disabled_fixture ():
598+ """Configuration where overriding model/provider is allowed (flag False)."""
599+ test_config = config_dict .copy ()
600+ test_config ["customization" ] = {
601+ "disable_query_model_provider_override" : False ,
602+ }
603+ cfg = AppConfig ()
604+ cfg .init_from_dict (test_config )
605+ return cfg
606+
607+
608+ @pytest .fixture (name = "config_with_override_enabled" )
609+ def config_with_override_enabled_fixture ():
610+ """Configuration where overriding model/provider is NOT allowed (flag True)."""
611+ test_config = config_dict .copy ()
612+ test_config ["customization" ] = {
613+ "disable_query_model_provider_override" : True ,
614+ }
615+ cfg = AppConfig ()
616+ cfg .init_from_dict (test_config )
617+ return cfg
618+
619+
620+ def test_validate_model_provider_override_allowed_when_flag_false (
621+ config_with_override_disabled ,
622+ ):
623+ """Ensure no exception when overrides are allowed and request includes model/provider."""
624+ query_request = QueryRequest (query = "q" , model = "m" , provider = "p" )
625+ # Should not raise
626+ endpoints .validate_model_provider_override (
627+ query_request , config_with_override_disabled
628+ )
629+
630+
631+ def test_validate_model_provider_override_rejected_when_flag_true (
632+ config_with_override_enabled ,
633+ ):
634+ """Ensure HTTP 422 when overrides are disabled and request includes model/provider."""
635+ query_request = QueryRequest (query = "q" , model = "m" , provider = "p" )
636+ with pytest .raises (HTTPException ) as exc_info :
637+ endpoints .validate_model_provider_override (
638+ query_request , config_with_override_enabled
639+ )
640+ assert exc_info .value .status_code == 422
641+
642+
643+ def test_validate_model_provider_override_no_override_with_flag_true (
644+ config_with_override_enabled ,
645+ ):
646+ """No exception when overrides are disabled but request does not include model/provider."""
647+ query_request = QueryRequest (query = "q" )
648+ # Should not raise
649+ endpoints .validate_model_provider_override (
650+ query_request , config_with_override_enabled
651+ )
0 commit comments