AI Gateway Go 0.10.0 源码快照 + 旗舰版需求规划报告
M0-M7 已完成:核心网关(身份/RBAC/TOTP/OIDC/SAML/Provider/配额/路由/内容策略/审计/定价)+ 资源市场(MCP/Skills/数字员工)。 含 22 个 PostgreSQL 迁移、管理端/门户端前端源码、OpenAPI 契约、部署 compose。 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
package gateway
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestUsageCollectorReadsOpenAIJSON(t *testing.T) {
|
||||
collector := &usageCollector{}
|
||||
collector.feed([]byte(`{"usage":{"prompt_tokens":11,"completion_tokens":7,"total_tokens":18}}`))
|
||||
if got := collector.tokens(); got != 18 {
|
||||
t.Fatalf("got %d, want 18", got)
|
||||
}
|
||||
}
|
||||
|
||||
func TestUsageCollectorReadsChunkedSSEAndAnthropicUsage(t *testing.T) {
|
||||
collector := &usageCollector{sse: true}
|
||||
collector.feed([]byte("event: message_start\ndata: {\"message\":{\"usage\":{\"input_tokens\":13}}}\n\n"))
|
||||
collector.feed([]byte("event: message_delta\ndata: {\"usage\":{\"output_"))
|
||||
collector.feed([]byte("tokens\":9}}\n\ndata: [DONE]\n\n"))
|
||||
if got := collector.tokens(); got != 22 {
|
||||
t.Fatalf("got %d, want 22", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user