75cdbf583f
V2RayUsageSource 是「线上按租户记账」链路的源头(agent 读 sing-box v2ray_api StatsService per-user 计数器 → 聚合 → ReportUsage),此前零测试覆盖 (复查发现之前以为有单测是错的)。本刀按用户定的范围只补 CI 可跑的后端采集: - TestParseUserStat:表驱动,正常 uplink/downlink + 非 user/段数异常应 ok=false。 - TestV2RayCollect:起假 StatsService(loopback gRPC,ServiceName 与 client.go 的 规范全名一致),让真 Collect() 跑真链路,断言:按 dp_uuid 聚合 up/down 正确、 方向不串、全 0 用户与非 user 计数器被丢弃、SessionMinutes=1、且请求以 Reset_=true + pattern "user>>>" 发出(窗口取值清零语义)。 纯 go test、无 docker / 无真 sing-box;自动进 go-server job + 计入覆盖率闸。 真 sing-box 真出网 e2e 仍按计划留文档手测。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>