@@ -2019,11 +2019,159 @@ func TestEvaluatorServiceImpl_ListBuiltinEvaluator(t *testing.T) {
20192019 expectedErr : nil ,
20202020 },
20212021 {
2022- name : "成功 - 带版本信息 (WithVersion = true) " ,
2022+ name : "成功 - 带BuiltinVisibleVersion并回填版本信息 " ,
20232023 request : & entity.ListBuiltinEvaluatorRequest {
2024- PageSize : 10 ,
2025- PageNum : 1 ,
2026- WithVersion : true ,
2024+ PageSize : 10 ,
2025+ PageNum : 1 ,
2026+ },
2027+ setupMock : func (mockRepo * repomocks.MockIEvaluatorRepo ) {
2028+ expectedRepoReq := & repo.ListBuiltinEvaluatorRequest {
2029+ PageSize : 10 ,
2030+ PageNum : 1 ,
2031+ IncludeDeleted : false ,
2032+ FilterOption : nil ,
2033+ }
2034+ // 模拟返回有BuiltinVisibleVersion的评估器元数据
2035+ mockRepo .EXPECT ().ListBuiltinEvaluator (gomock .Any (), gomock .Eq (expectedRepoReq )).Return (
2036+ & repo.ListBuiltinEvaluatorResponse {
2037+ Evaluators : []* entity.Evaluator {
2038+ {
2039+ ID : 1 ,
2040+ Name : "BuiltinEval1" ,
2041+ SpaceID : 1 ,
2042+ Description : "Builtin Desc1" ,
2043+ BuiltinVisibleVersion : "1.0.0" ,
2044+ EvaluatorType : entity .EvaluatorTypePrompt ,
2045+ },
2046+ {
2047+ ID : 2 ,
2048+ Name : "BuiltinEval2" ,
2049+ SpaceID : 1 ,
2050+ Description : "Builtin Desc2" ,
2051+ BuiltinVisibleVersion : "2.0.0" ,
2052+ EvaluatorType : entity .EvaluatorTypeCode ,
2053+ },
2054+ },
2055+ TotalCount : 2 ,
2056+ }, nil )
2057+
2058+ // 模拟批量查询版本信息
2059+ mockRepo .EXPECT ().BatchGetEvaluatorVersionsByEvaluatorIDAndVersions (gomock .Any (), [][2 ]interface {}{
2060+ {int64 (1 ), "1.0.0" },
2061+ {int64 (2 ), "2.0.0" },
2062+ }).Return ([]* entity.Evaluator {
2063+ {
2064+ ID : 1 ,
2065+ EvaluatorType : entity .EvaluatorTypePrompt ,
2066+ PromptEvaluatorVersion : & entity.PromptEvaluatorVersion {
2067+ EvaluatorID : 1 ,
2068+ Version : "1.0.0" ,
2069+ MessageList : []* entity.Message {},
2070+ },
2071+ },
2072+ {
2073+ ID : 2 ,
2074+ EvaluatorType : entity .EvaluatorTypeCode ,
2075+ CodeEvaluatorVersion : & entity.CodeEvaluatorVersion {
2076+ EvaluatorID : 2 ,
2077+ Version : "2.0.0" ,
2078+ CodeContent : "def evaluate(): pass" ,
2079+ },
2080+ },
2081+ }, nil )
2082+ },
2083+ expectedList : []* entity.Evaluator {
2084+ {
2085+ ID : 1 ,
2086+ Name : "BuiltinEval1" ,
2087+ SpaceID : 1 ,
2088+ Description : "Builtin Desc1" ,
2089+ BuiltinVisibleVersion : "1.0.0" ,
2090+ EvaluatorType : entity .EvaluatorTypePrompt ,
2091+ },
2092+ {
2093+ ID : 2 ,
2094+ Name : "BuiltinEval2" ,
2095+ SpaceID : 1 ,
2096+ Description : "Builtin Desc2" ,
2097+ BuiltinVisibleVersion : "2.0.0" ,
2098+ EvaluatorType : entity .EvaluatorTypeCode ,
2099+ },
2100+ },
2101+ expectedTotal : 2 ,
2102+ expectedErr : nil ,
2103+ },
2104+ {
2105+ name : "成功 - 部分评估器有BuiltinVisibleVersion" ,
2106+ request : & entity.ListBuiltinEvaluatorRequest {
2107+ PageSize : 10 ,
2108+ PageNum : 1 ,
2109+ },
2110+ setupMock : func (mockRepo * repomocks.MockIEvaluatorRepo ) {
2111+ expectedRepoReq := & repo.ListBuiltinEvaluatorRequest {
2112+ PageSize : 10 ,
2113+ PageNum : 1 ,
2114+ IncludeDeleted : false ,
2115+ FilterOption : nil ,
2116+ }
2117+ mockRepo .EXPECT ().ListBuiltinEvaluator (gomock .Any (), gomock .Eq (expectedRepoReq )).Return (
2118+ & repo.ListBuiltinEvaluatorResponse {
2119+ Evaluators : []* entity.Evaluator {
2120+ {
2121+ ID : 1 ,
2122+ Name : "BuiltinEval1" ,
2123+ SpaceID : 1 ,
2124+ BuiltinVisibleVersion : "1.0.0" ,
2125+ EvaluatorType : entity .EvaluatorTypePrompt ,
2126+ },
2127+ {
2128+ ID : 2 ,
2129+ Name : "BuiltinEval2" ,
2130+ SpaceID : 1 ,
2131+ BuiltinVisibleVersion : "" , // 没有版本
2132+ EvaluatorType : entity .EvaluatorTypePrompt ,
2133+ },
2134+ },
2135+ TotalCount : 2 ,
2136+ }, nil )
2137+
2138+ // 只查询有BuiltinVisibleVersion的评估器版本
2139+ mockRepo .EXPECT ().BatchGetEvaluatorVersionsByEvaluatorIDAndVersions (gomock .Any (), [][2 ]interface {}{
2140+ {int64 (1 ), "1.0.0" },
2141+ }).Return ([]* entity.Evaluator {
2142+ {
2143+ ID : 1 ,
2144+ EvaluatorType : entity .EvaluatorTypePrompt ,
2145+ PromptEvaluatorVersion : & entity.PromptEvaluatorVersion {
2146+ EvaluatorID : 1 ,
2147+ Version : "1.0.0" ,
2148+ },
2149+ },
2150+ }, nil )
2151+ },
2152+ expectedList : []* entity.Evaluator {
2153+ {
2154+ ID : 1 ,
2155+ Name : "BuiltinEval1" ,
2156+ SpaceID : 1 ,
2157+ BuiltinVisibleVersion : "1.0.0" ,
2158+ EvaluatorType : entity .EvaluatorTypePrompt ,
2159+ },
2160+ {
2161+ ID : 2 ,
2162+ Name : "BuiltinEval2" ,
2163+ SpaceID : 1 ,
2164+ EvaluatorType : entity .EvaluatorTypePrompt ,
2165+ },
2166+ },
2167+ expectedTotal : 2 ,
2168+ expectedErr : nil ,
2169+ },
2170+ {
2171+ name : "成功 - 空列表" ,
2172+ request : & entity.ListBuiltinEvaluatorRequest {
2173+ PageSize : 10 ,
2174+ PageNum : 1 ,
20272175 },
20282176 setupMock : func (mockRepo * repomocks.MockIEvaluatorRepo ) {
20292177 expectedRepoReq := & repo.ListBuiltinEvaluatorRequest {
@@ -2032,6 +2180,31 @@ func TestEvaluatorServiceImpl_ListBuiltinEvaluator(t *testing.T) {
20322180 IncludeDeleted : false ,
20332181 FilterOption : nil ,
20342182 }
2183+ mockRepo .EXPECT ().ListBuiltinEvaluator (gomock .Any (), gomock .Eq (expectedRepoReq )).Return (
2184+ & repo.ListBuiltinEvaluatorResponse {
2185+ Evaluators : []* entity.Evaluator {},
2186+ TotalCount : 0 ,
2187+ }, nil )
2188+ // 空列表时不会调用BatchGetEvaluatorVersionsByEvaluatorIDAndVersions
2189+ },
2190+ expectedList : []* entity.Evaluator {},
2191+ expectedTotal : 0 ,
2192+ expectedErr : nil ,
2193+ },
2194+ {
2195+ name : "成功 - 带筛选条件" ,
2196+ request : & entity.ListBuiltinEvaluatorRequest {
2197+ PageSize : 10 ,
2198+ PageNum : 1 ,
2199+ FilterOption : & entity.EvaluatorFilterOption {},
2200+ },
2201+ setupMock : func (mockRepo * repomocks.MockIEvaluatorRepo ) {
2202+ expectedRepoReq := & repo.ListBuiltinEvaluatorRequest {
2203+ PageSize : 10 ,
2204+ PageNum : 1 ,
2205+ IncludeDeleted : false ,
2206+ FilterOption : & entity.EvaluatorFilterOption {},
2207+ }
20352208 mockRepo .EXPECT ().ListBuiltinEvaluator (gomock .Any (), gomock .Eq (expectedRepoReq )).Return (
20362209 & repo.ListBuiltinEvaluatorResponse {
20372210 Evaluators : []* entity.Evaluator {
@@ -2046,6 +2219,41 @@ func TestEvaluatorServiceImpl_ListBuiltinEvaluator(t *testing.T) {
20462219 expectedTotal : 1 ,
20472220 expectedErr : nil ,
20482221 },
2222+ {
2223+ name : "失败 - BatchGetEvaluatorVersionsByEvaluatorIDAndVersions返回错误" ,
2224+ request : & entity.ListBuiltinEvaluatorRequest {
2225+ PageSize : 10 ,
2226+ PageNum : 1 ,
2227+ },
2228+ setupMock : func (mockRepo * repomocks.MockIEvaluatorRepo ) {
2229+ expectedRepoReq := & repo.ListBuiltinEvaluatorRequest {
2230+ PageSize : 10 ,
2231+ PageNum : 1 ,
2232+ IncludeDeleted : false ,
2233+ FilterOption : nil ,
2234+ }
2235+ mockRepo .EXPECT ().ListBuiltinEvaluator (gomock .Any (), gomock .Eq (expectedRepoReq )).Return (
2236+ & repo.ListBuiltinEvaluatorResponse {
2237+ Evaluators : []* entity.Evaluator {
2238+ {
2239+ ID : 1 ,
2240+ Name : "BuiltinEval1" ,
2241+ SpaceID : 1 ,
2242+ BuiltinVisibleVersion : "1.0.0" ,
2243+ EvaluatorType : entity .EvaluatorTypePrompt ,
2244+ },
2245+ },
2246+ TotalCount : 1 ,
2247+ }, nil )
2248+
2249+ mockRepo .EXPECT ().BatchGetEvaluatorVersionsByEvaluatorIDAndVersions (gomock .Any (), [][2 ]interface {}{
2250+ {int64 (1 ), "1.0.0" },
2251+ }).Return (nil , errors .New ("version query error" ))
2252+ },
2253+ expectedList : nil ,
2254+ expectedTotal : 0 ,
2255+ expectedErr : errors .New ("version query error" ),
2256+ },
20492257 {
20502258 name : "失败 - repo返回错误" ,
20512259 request : & entity.ListBuiltinEvaluatorRequest {
0 commit comments