ccpoad / internal /storage /sql /metrics_query_test.go
anyalerob's picture
Upload folder using huggingface_hub
2986042 verified
Raw
History Blame Contribute Delete
1.89 kB
package sql
import (
"strings"
"testing"
"ccLoad/internal/model"
)
func TestBuildLatestChannelSuccessQuery_UsesIndexedSeek(t *testing.T) {
query, args := buildLatestChannelSuccessQuery(map[int][]int{
3: {0},
1: {1},
}, &model.LogFilter{LogSource: model.LogSourceProxy})
upperQuery := strings.ToUpper(query)
if strings.Contains(upperQuery, "ROW_NUMBER()") || strings.Contains(upperQuery, "OVER (") {
t.Fatalf("latest success query must not rank all historical rows:\n%s", query)
}
if !strings.Contains(upperQuery, "ORDER BY TIME DESC, ID DESC LIMIT 1") {
t.Fatalf("latest success query must seek the latest indexed row per channel:\n%s", query)
}
if !strings.Contains(query, "channel_id = scope.channel_id") {
t.Fatalf("latest success query must be correlated by channel scope:\n%s", query)
}
if len(args) != 3 {
t.Fatalf("args=%v, want two scope channel ids plus log_source", args)
}
}
func TestBuildLatestEntrySuccessQuery_UsesIndexedSeek(t *testing.T) {
query, args := buildLatestEntrySuccessQuery(map[statsRequestKey]int{
{channelID: 3, model: "gpt-4o"}: 0,
{channelID: 1, model: "claude"}: 1,
}, &model.LogFilter{ModelLike: "gpt", LogSource: model.LogSourceProxy})
upperQuery := strings.ToUpper(query)
if strings.Contains(upperQuery, "ROW_NUMBER()") || strings.Contains(upperQuery, "OVER (") {
t.Fatalf("latest entry success query must not rank all historical rows:\n%s", query)
}
if !strings.Contains(upperQuery, "ORDER BY TIME DESC, ID DESC LIMIT 1") {
t.Fatalf("latest entry success query must seek the latest indexed row per channel/model:\n%s", query)
}
if !strings.Contains(query, "COALESCE(model, '') = scope.model") {
t.Fatalf("latest entry success query must be correlated by channel/model scope:\n%s", query)
}
if len(args) != 6 {
t.Fatalf("args=%v, want two channel/model pairs plus model_like and log_source", args)
}
}