Files
CLIProxyAPI/sdk/cliproxy/usage/manager_test.go
Luis Pater 9721d9939e feat(usage): track streaming execution state in usage records
- Add `Stream` field to usage records, context helpers, and Redis queue payloads.
- Propagate streaming mode across execution handlers, conductors, and usage reporters.

Closes: #5361
2026-08-31 20:29:19 +08:00

77 lines
1.9 KiB
Go

package usage
import (
"context"
"testing"
)
func TestStreamFromContextDefaultsMissingToFalse(t *testing.T) {
if StreamFromContext(context.Background()) {
t.Fatalf("StreamFromContext(background) = true, want false")
}
}
func TestStreamFromContextHonorsExplicitTrue(t *testing.T) {
ctx := WithStream(context.Background(), true)
if !StreamFromContext(ctx) {
t.Fatalf("StreamFromContext(true) = false, want true")
}
}
func TestRecordStreamField(t *testing.T) {
record := Record{
Provider: "openai",
Model: "gpt-5.4",
Stream: true,
}
if !record.Stream {
t.Fatalf("Record.Stream = false, want true")
}
}
func TestGenerateEnabledDefaultsNilToTrue(t *testing.T) {
if !GenerateEnabled(nil) {
t.Fatalf("GenerateEnabled(nil) = false, want true")
}
}
func TestGenerateEnabledHonorsExplicitFalse(t *testing.T) {
if GenerateEnabled(GenerateFlag(false)) {
t.Fatalf("GenerateEnabled(false) = true, want false")
}
}
func TestGenerateEnabledHonorsExplicitTrue(t *testing.T) {
if !GenerateEnabled(GenerateFlag(true)) {
t.Fatalf("GenerateEnabled(true) = false, want true")
}
}
func TestGenerateFromContextDefaultsMissingToTrue(t *testing.T) {
if !GenerateFromContext(context.Background()) {
t.Fatalf("GenerateFromContext(background) = false, want true")
}
}
func TestGenerateFromContextHonorsExplicitFalse(t *testing.T) {
ctx := WithGenerate(context.Background(), false)
if GenerateFromContext(ctx) {
t.Fatalf("GenerateFromContext(false) = true, want false")
}
}
func TestRecordOmittedGenerateIsEnabled(t *testing.T) {
// Existing callers construct Record without setting Generate.
// Omission must remain distinguishable from explicit false and default to true.
record := Record{
Provider: "openai",
Model: "gpt-5.4",
}
if record.Generate != nil {
t.Fatalf("Record.Generate = %v, want nil for omitted field", record.Generate)
}
if !GenerateEnabled(record.Generate) {
t.Fatalf("GenerateEnabled(omitted) = false, want true")
}
}