| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package model_setting
- import (
- "net/http"
- "testing"
- )
- func TestClaudeSettingsWriteHeadersMergesConfiguredValuesIntoSingleHeader(t *testing.T) {
- settings := &ClaudeSettings{
- HeadersSettings: map[string]map[string][]string{
- "claude-3-7-sonnet-20250219-thinking": {
- "anthropic-beta": {
- "token-efficient-tools-2025-02-19",
- },
- },
- },
- }
- headers := http.Header{}
- headers.Set("anthropic-beta", "output-128k-2025-02-19")
- settings.WriteHeaders("claude-3-7-sonnet-20250219-thinking", &headers)
- got := headers.Values("anthropic-beta")
- if len(got) != 1 {
- t.Fatalf("expected a single merged header value, got %v", got)
- }
- expected := "output-128k-2025-02-19,token-efficient-tools-2025-02-19"
- if got[0] != expected {
- t.Fatalf("expected merged header %q, got %q", expected, got[0])
- }
- }
- func TestClaudeSettingsWriteHeadersDeduplicatesAcrossCommaSeparatedAndRepeatedValues(t *testing.T) {
- settings := &ClaudeSettings{
- HeadersSettings: map[string]map[string][]string{
- "claude-3-7-sonnet-20250219-thinking": {
- "anthropic-beta": {
- "token-efficient-tools-2025-02-19",
- "computer-use-2025-01-24",
- },
- },
- },
- }
- headers := http.Header{}
- headers.Add("anthropic-beta", "output-128k-2025-02-19, token-efficient-tools-2025-02-19")
- headers.Add("anthropic-beta", "token-efficient-tools-2025-02-19")
- settings.WriteHeaders("claude-3-7-sonnet-20250219-thinking", &headers)
- got := headers.Values("anthropic-beta")
- if len(got) != 1 {
- t.Fatalf("expected duplicate values to collapse into one header, got %v", got)
- }
- expected := "output-128k-2025-02-19,token-efficient-tools-2025-02-19,computer-use-2025-01-24"
- if got[0] != expected {
- t.Fatalf("expected deduplicated merged header %q, got %q", expected, got[0])
- }
- }
|