summaryrefslogtreecommitdiff
path: root/internal/llm/openai_request_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-09-17 22:49:13 +0300
committerPaul Buetow <paul@buetow.org>2025-09-17 22:49:13 +0300
commitd059ae333fa1c89cb58d7fb56ead79cdba15d5db (patch)
treeae65ad59c8590f71232a6abefee312b72ddf6d3e /internal/llm/openai_request_test.go
parent88103657fb230bb41217a06aa5602ae23e7acb8b (diff)
chore(version): bump to v0.11.1 (gpt-5 defaults, timeouts, global stats, editor fix)v0.11.1
Diffstat (limited to 'internal/llm/openai_request_test.go')
-rw-r--r--internal/llm/openai_request_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/llm/openai_request_test.go b/internal/llm/openai_request_test.go
new file mode 100644
index 0000000..f9925f9
--- /dev/null
+++ b/internal/llm/openai_request_test.go
@@ -0,0 +1,32 @@
+package llm
+
+import (
+ "encoding/json"
+ "testing"
+)
+
+func TestBuildOAChatRequest_MaxTokensKeyByModel(t *testing.T) {
+ msgs := []Message{{Role: "user", Content: "hi"}}
+ mt := 123
+ // Legacy model: use max_tokens
+ r1 := buildOAChatRequest(Options{Model: "gpt-4.1", MaxTokens: mt}, msgs, nil, false)
+ b1, _ := json.Marshal(r1)
+ if !contains(string(b1), "max_tokens") || contains(string(b1), "max_completion_tokens") {
+ t.Fatalf("expected max_tokens only, got %s", string(b1))
+ }
+ // gpt-5 family: use max_completion_tokens
+ r2 := buildOAChatRequest(Options{Model: "gpt-5.0-preview", MaxTokens: mt}, msgs, nil, false)
+ b2, _ := json.Marshal(r2)
+ if !contains(string(b2), "max_completion_tokens") || contains(string(b2), "max_tokens\":") {
+ t.Fatalf("expected max_completion_tokens only, got %s", string(b2))
+ }
+}
+
+func contains(s, sub string) bool {
+ for i := 0; i+len(sub) <= len(s); i++ {
+ if s[i:i+len(sub)] == sub {
+ return true
+ }
+ }
+ return false
+}