mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-07-25 12:22:44 +00:00
36 lines
1.0 KiB
Go
36 lines
1.0 KiB
Go
package http
|
|
|
|
import "testing"
|
|
|
|
func TestPolicyPatchFromBodyClearsTokenAndCostLimits(t *testing.T) {
|
|
patch, err := policyPatchFromBody([]byte(`{"max_tokens":null,"max_cost_usd":null}`))
|
|
if err != nil {
|
|
t.Fatalf("policyPatchFromBody: %v", err)
|
|
}
|
|
if patch.MaxTokens == nil {
|
|
t.Fatal("MaxTokens patch missing")
|
|
}
|
|
if *patch.MaxTokens != nil {
|
|
t.Fatalf("MaxTokens = %v, want nil clear", **patch.MaxTokens)
|
|
}
|
|
if patch.MaxCostMicros == nil {
|
|
t.Fatal("MaxCostMicros patch missing")
|
|
}
|
|
if *patch.MaxCostMicros != nil {
|
|
t.Fatalf("MaxCostMicros = %v, want nil clear", **patch.MaxCostMicros)
|
|
}
|
|
}
|
|
|
|
func TestPolicyPatchFromBodyPreservesProvidedCostUSD(t *testing.T) {
|
|
patch, err := policyPatchFromBody([]byte(`{"max_cost_usd":12.5}`))
|
|
if err != nil {
|
|
t.Fatalf("policyPatchFromBody: %v", err)
|
|
}
|
|
if patch.MaxCostMicros == nil || *patch.MaxCostMicros == nil {
|
|
t.Fatal("MaxCostMicros patch missing")
|
|
}
|
|
if got := **patch.MaxCostMicros; got != 12_500_000 {
|
|
t.Fatalf("MaxCostMicros = %d, want 12500000", got)
|
|
}
|
|
}
|