@@ -735,6 +735,28 @@ def test_create_provider_model_exception(self, mock_get_silicon):
735735 self .assertEqual (data ["code" ], 500 )
736736 self .assertIn ("Failed to create provider model: Silicon API error" , data ["message" ])
737737
738+ def test_create_provider_model_silicon_success_backend_sorted (self ):
739+ backend_client_local , backend_model_app = _build_backend_client_with_s3_stub ()
740+ with patch .object (backend_model_app .SiliconModelProvider , "get_models" , new = AsyncMock (return_value = [{"id" : "b2" }, {"id" : "A1" }, {"id" : "a0" }, {"id" : "c3" }])) as mock_get :
741+ request_data = {"provider" : "silicon" , "api_key" : "test_key" }
742+ response = backend_client_local .post ("/model/create_provider" , json = request_data , headers = self .auth_header )
743+ self .assertEqual (response .status_code , 200 )
744+ data = response .json ()
745+ self .assertEqual (data ["code" ], 200 )
746+ self .assertIn ("Provider model silicon created successfully" , data ["message" ])
747+ self .assertEqual ([m ["id" ] for m in data ["data" ]], ["A1" , "a0" , "b2" , "c3" ])
748+ mock_get .assert_called_once ()
749+
750+ def test_create_provider_model_exception_backend (self ):
751+ backend_client_local , backend_model_app = _build_backend_client_with_s3_stub ()
752+ with patch .object (backend_model_app .SiliconModelProvider , "get_models" , new = AsyncMock (side_effect = Exception ("Silicon API error" ))) as mock_get :
753+ request_data = {"provider" : "silicon" , "api_key" : "test_key" }
754+ response = backend_client_local .post ("/model/create_provider" , json = request_data , headers = self .auth_header )
755+ self .assertEqual (response .status_code , 200 )
756+ data = response .json ()
757+ self .assertEqual (data ["code" ], 500 )
758+ self .assertIn ("Failed to create provider model: Silicon API error" , data ["message" ])
759+ mock_get .assert_called_once ()
738760
739761 @patch ("test_model_managment_app.get_current_user_id" )
740762 @patch ("test_model_managment_app.get_model_by_display_name" )
0 commit comments