feat: 修复 AI 风险语义并隔离 Mock 数据
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
package handler
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"silk-server-go/internal/service"
|
||||
)
|
||||
|
||||
func TestIsUUID(t *testing.T) {
|
||||
valid := []string{
|
||||
@@ -19,3 +23,33 @@ func TestIsUUID(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildRiskInputUsesAbnormalProbability(t *testing.T) {
|
||||
in := buildRiskInput(&service.AIDetectResponse{
|
||||
ModelVersion: "silk-yolo-2026.08.1",
|
||||
Status: "abnormal",
|
||||
AbnormalProbability: 0.93,
|
||||
})
|
||||
if in.AI == nil || *in.AI != 0.93 {
|
||||
t.Fatalf("AI 异常概率应进入风险输入,实际 %v", in.AI)
|
||||
}
|
||||
if in.ModelVersion != "silk-yolo-2026.08.1" {
|
||||
t.Errorf("modelVersion = %s", in.ModelVersion)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildRiskInputUnknownKeepsAIMissing(t *testing.T) {
|
||||
in := buildRiskInput(&service.AIDetectResponse{Status: "unknown"})
|
||||
if in.AI != nil {
|
||||
t.Fatalf("unknown 状态不应把 0 当作 AI 组件,实际 %v", in.AI)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBuildRiskInputFallsBackToDetections(t *testing.T) {
|
||||
in := buildRiskInput(&service.AIDetectResponse{
|
||||
Detections: []service.AIDetection{{ClassName: "sick", Confidence: 0.9}},
|
||||
})
|
||||
if in.AI == nil || *in.AI != 0.9 {
|
||||
t.Fatalf("旧 AI 响应应从检测类别计算异常概率,实际 %v", in.AI)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user