Files
pangolin/server/internal/agentd
wangjia 75cdbf583f test(server): 刀2 — v2ray 真实采集后端测试(缺口②)
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>
2026-06-25 23:01:27 +08:00
..