@@ -1273,15 +1273,18 @@ func TestEvaluatorHandlerImpl_ListEvaluatorVersions(t *testing.T) {
12731273 mockAuth := rpcmocks .NewMockIAuthProvider (ctrl )
12741274 mockEvaluatorService := mocks .NewMockEvaluatorService (ctrl )
12751275 mockUserInfoService := userinfomocks .NewMockUserInfoService (ctrl )
1276+ mockConfiger := confmocks .NewMockIConfiger (ctrl )
12761277
12771278 app := & EvaluatorHandlerImpl {
12781279 auth : mockAuth ,
12791280 evaluatorService : mockEvaluatorService ,
12801281 userInfoService : mockUserInfoService ,
1282+ configer : mockConfiger ,
12811283 }
12821284
12831285 workspaceID := int64 (100 )
12841286 evaluatorID := int64 (200 )
1287+ builtinSpaceID := int64 (999 )
12851288 evaluators := []* entity.Evaluator {
12861289 {
12871290 ID : evaluatorID ,
@@ -1294,6 +1297,12 @@ func TestEvaluatorHandlerImpl_ListEvaluatorVersions(t *testing.T) {
12941297 },
12951298 },
12961299 }
1300+ builtinEvaluator := & entity.Evaluator {
1301+ ID : evaluatorID ,
1302+ SpaceID : builtinSpaceID ,
1303+ EvaluatorType : entity .EvaluatorTypePrompt ,
1304+ Builtin : true ,
1305+ }
12971306
12981307 tests := []struct {
12991308 name string
@@ -1332,7 +1341,7 @@ func TestEvaluatorHandlerImpl_ListEvaluatorVersions(t *testing.T) {
13321341 wantErrCode : errno .CommonNoPermissionCode ,
13331342 },
13341343 {
1335- name : "evaluator_not_in_workspace " ,
1344+ name : "evaluator_not_in_workspace_and_not_builtin " ,
13361345 req : & evaluatorservice.ListEvaluatorVersionsRequest {
13371346 WorkspaceID : workspaceID ,
13381347 EvaluatorID : & evaluatorID ,
@@ -1342,10 +1351,69 @@ func TestEvaluatorHandlerImpl_ListEvaluatorVersions(t *testing.T) {
13421351 // GetEvaluator 在 evaluator 不属于该 workspace 时返回 (nil, nil)
13431352 mockEvaluatorService .EXPECT ().GetEvaluator (gomock .Any (), workspaceID , evaluatorID , false ).
13441353 Return (nil , nil )
1354+ // 不是预置评估器时,GetBuiltinEvaluator 返回 (nil, nil)
1355+ mockEvaluatorService .EXPECT ().GetBuiltinEvaluator (gomock .Any (), evaluatorID ).
1356+ Return (nil , nil )
13451357 },
13461358 wantErr : true ,
13471359 wantErrCode : errno .EvaluatorNotExistCode ,
13481360 },
1361+ {
1362+ name : "builtin_evaluator_success" ,
1363+ req : & evaluatorservice.ListEvaluatorVersionsRequest {
1364+ WorkspaceID : workspaceID ,
1365+ EvaluatorID : & evaluatorID ,
1366+ },
1367+ mockSetup : func () {
1368+ mockAuth .EXPECT ().Authorization (gomock .Any (), gomock .Any ()).Return (nil )
1369+ // 当前 workspace 下查不到
1370+ mockEvaluatorService .EXPECT ().GetEvaluator (gomock .Any (), workspaceID , evaluatorID , false ).
1371+ Return (nil , nil )
1372+ // 命中预置评估器
1373+ mockEvaluatorService .EXPECT ().GetBuiltinEvaluator (gomock .Any (), evaluatorID ).
1374+ Return (builtinEvaluator , nil )
1375+ // authBuiltinManagement 通过
1376+ mockConfiger .EXPECT ().GetBuiltinEvaluatorSpaceConf (gomock .Any ()).
1377+ Return ([]string {strconv .FormatInt (builtinSpaceID , 10 )})
1378+ mockEvaluatorService .EXPECT ().ListEvaluatorVersion (gomock .Any (), gomock .Any ()).
1379+ Return (evaluators , int64 (1 ), nil )
1380+ mockUserInfoService .EXPECT ().PackUserInfo (gomock .Any (), gomock .Any ()).Return ()
1381+ },
1382+ wantErr : false ,
1383+ },
1384+ {
1385+ name : "builtin_evaluator_auth_failed" ,
1386+ req : & evaluatorservice.ListEvaluatorVersionsRequest {
1387+ WorkspaceID : workspaceID ,
1388+ EvaluatorID : & evaluatorID ,
1389+ },
1390+ mockSetup : func () {
1391+ mockAuth .EXPECT ().Authorization (gomock .Any (), gomock .Any ()).Return (nil )
1392+ mockEvaluatorService .EXPECT ().GetEvaluator (gomock .Any (), workspaceID , evaluatorID , false ).
1393+ Return (nil , nil )
1394+ mockEvaluatorService .EXPECT ().GetBuiltinEvaluator (gomock .Any (), evaluatorID ).
1395+ Return (builtinEvaluator , nil )
1396+ // builtin 空间不在允许列表中,authBuiltinManagement 会失败
1397+ mockConfiger .EXPECT ().GetBuiltinEvaluatorSpaceConf (gomock .Any ()).
1398+ Return ([]string {})
1399+ },
1400+ wantErr : true ,
1401+ },
1402+ {
1403+ name : "get_builtin_evaluator_failed" ,
1404+ req : & evaluatorservice.ListEvaluatorVersionsRequest {
1405+ WorkspaceID : workspaceID ,
1406+ EvaluatorID : & evaluatorID ,
1407+ },
1408+ mockSetup : func () {
1409+ mockAuth .EXPECT ().Authorization (gomock .Any (), gomock .Any ()).Return (nil )
1410+ mockEvaluatorService .EXPECT ().GetEvaluator (gomock .Any (), workspaceID , evaluatorID , false ).
1411+ Return (nil , nil )
1412+ mockEvaluatorService .EXPECT ().GetBuiltinEvaluator (gomock .Any (), evaluatorID ).
1413+ Return (nil , errors .New ("db error" ))
1414+ },
1415+ wantErr : true ,
1416+ },
13491417 {
13501418 name : "get_evaluator_failed" ,
13511419 req : & evaluatorservice.ListEvaluatorVersionsRequest {
0 commit comments