MCPcopy Index your code
hub / github.com/coder/coder / TestBuildUpstreamHeaders

Function TestBuildUpstreamHeaders

aibridge/intercept/client_headers_test.go:126–243  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

124}
125
126func TestBuildUpstreamHeaders(t *testing.T) {
127 t.Parallel()
128
129 t.Run("preserves auth from SDK", func(t *testing.T) {
130 t.Parallel()
131
132 sdkHeader := http.Header{
133 "Authorization": {"Bearer sk-provider-key"},
134 }
135 clientHeaders := http.Header{
136 "Authorization": {"Bearer coder-session-token"},
137 "User-Agent": {"claude-code/1.0"},
138 }
139
140 result := intercept.BuildUpstreamHeaders(sdkHeader, clientHeaders, "Authorization")
141
142 assert.Equal(t, "Bearer sk-provider-key", result.Get("Authorization"))
143 assert.Equal(t, "claude-code/1.0", result.Get("User-Agent"))
144 })
145
146 t.Run("preserves X-Api-Key from SDK and strips client Authorization", func(t *testing.T) {
147 t.Parallel()
148
149 sdkHeader := http.Header{
150 "X-Api-Key": {"sk-ant-provider-key"},
151 }
152 clientHeaders := http.Header{
153 "X-Api-Key": {"sk-ant-client-key"},
154 "Authorization": {"Bearer coder-session-token"},
155 "Anthropic-Beta": {"prompt-caching-2024-07-31"},
156 }
157
158 result := intercept.BuildUpstreamHeaders(sdkHeader, clientHeaders, "X-Api-Key")
159
160 assert.Equal(t, "sk-ant-provider-key", result.Get("X-Api-Key"))
161 assert.Empty(t, result.Get("Authorization"))
162 assert.Equal(t, "prompt-caching-2024-07-31", result.Get("Anthropic-Beta"))
163 })
164
165 t.Run("preserves actor headers from SDK", func(t *testing.T) {
166 t.Parallel()
167
168 sdkHeader := http.Header{
169 "Authorization": {"Bearer sk-key"},
170 "X-Ai-Bridge-Actor-Id": {"user-123"},
171 "X-Ai-Bridge-Actor-Metadata-Name": {"alice"},
172 }
173 clientHeaders := http.Header{
174 "Authorization": {"Bearer coder-token"},
175 "User-Agent": {"claude-code/1.0"},
176 }
177
178 result := intercept.BuildUpstreamHeaders(sdkHeader, clientHeaders, "Authorization")
179
180 assert.Equal(t, "Bearer sk-key", result.Get("Authorization"))
181 assert.Equal(t, "user-123", result.Get("X-Ai-Bridge-Actor-Id"))
182 assert.Equal(t, "alice", result.Get("X-Ai-Bridge-Actor-Metadata-Name"))
183 assert.Equal(t, "claude-code/1.0", result.Get("User-Agent"))

Callers

nothing calls this directly

Calls 6

BuildUpstreamHeadersFunction · 0.92
RunMethod · 0.65
GetMethod · 0.65
EqualMethod · 0.45
EmptyMethod · 0.45
CloneMethod · 0.45

Tested by

no test coverage detected