Skip to content

Commit ce9fcf9

Browse files
authored
chore: lint fixes part 8 (#260)
1 parent 862a2dd commit ce9fcf9

File tree

21 files changed

+142
-71
lines changed

21 files changed

+142
-71
lines changed

buildinfo/buildinfo_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import (
99
)
1010

1111
func TestBuildInfo(t *testing.T) {
12+
t.Parallel()
13+
1214
t.Run("Version", func(t *testing.T) {
15+
t.Parallel()
1316
// Should return a non-empty version
1417
version := buildinfo.Version()
1518
assert.NotEmpty(t, version)

circuitbreaker/circuitbreaker.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ func (p *ProviderCircuitBreakers) isFailure(statusCode int) bool {
6565
return DefaultIsFailure(statusCode)
6666
}
6767

68-
// openErrorResponse returns the error response body when the circuit is open.
69-
func (p *ProviderCircuitBreakers) openErrorResponse() []byte {
68+
// openErrBody returns the error response body when the circuit is open.
69+
func (p *ProviderCircuitBreakers) openErrBody() []byte {
7070
if p.config.OpenErrorResponse != nil {
7171
return p.config.OpenErrorResponse()
7272
}
@@ -167,7 +167,7 @@ func (p *ProviderCircuitBreakers) Execute(endpoint, model string, w http.Respons
167167
w.Header().Set("Content-Type", "application/json")
168168
w.Header().Set("Retry-After", fmt.Sprintf("%d", int64(p.config.Timeout.Seconds())))
169169
w.WriteHeader(http.StatusServiceUnavailable)
170-
_, _ = w.Write(p.openErrorResponse())
170+
_, _ = w.Write(p.openErrBody())
171171
return ErrCircuitOpen
172172
}
173173

@@ -187,7 +187,7 @@ func (p *ProviderCircuitBreakers) Provider() string {
187187
// OpenErrorResponse returns the error response body when the circuit is open.
188188
// This is exposed for handlers to use when responding to rejected requests.
189189
func (p *ProviderCircuitBreakers) OpenErrorResponse() []byte {
190-
return p.openErrorResponse()
190+
return p.openErrBody()
191191
}
192192

193193
// StateToGaugeValue converts gobreaker.State to a gauge value.

client_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ func TestGuessClient(t *testing.T) {
108108
t.Run(tt.name, func(t *testing.T) {
109109
t.Parallel()
110110

111-
req, err := http.NewRequest(http.MethodGet, "", nil)
111+
req, err := http.NewRequestWithContext(t.Context(), http.MethodGet, "", nil)
112112
require.NoError(t, err)
113113

114114
req.Header.Set("User-Agent", tt.userAgent)

intercept/apidump/apidump_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func TestBridgedMiddleware_RedactsSensitiveRequestHeaders(t *testing.T) {
3939
middleware := NewBridgeMiddleware(tmpDir, "openai", "gpt-4", interceptionID, logger, clk)
4040
require.NotNil(t, middleware)
4141

42-
req, err := http.NewRequest(http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{"test": true}`)))
42+
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{"test": true}`)))
4343
require.NoError(t, err)
4444

4545
// Add sensitive headers that should be redacted
@@ -97,7 +97,7 @@ func TestBridgedMiddleware_RedactsSensitiveResponseHeaders(t *testing.T) {
9797
middleware := NewBridgeMiddleware(tmpDir, "openai", "gpt-4", interceptionID, logger, clk)
9898
require.NotNil(t, middleware)
9999

100-
req, err := http.NewRequest(http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{}`)))
100+
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{}`)))
101101
require.NoError(t, err)
102102

103103
// Call middleware with a response containing sensitive headers
@@ -167,7 +167,7 @@ func TestBridgedMiddleware_PreservesRequestBody(t *testing.T) {
167167
require.NotNil(t, middleware)
168168

169169
originalBody := `{"messages": [{"role": "user", "content": "hello"}]}`
170-
req, err := http.NewRequest(http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(originalBody)))
170+
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(originalBody)))
171171
require.NoError(t, err)
172172

173173
var capturedBody []byte
@@ -201,7 +201,7 @@ func TestBridgedMiddleware_ModelWithSlash(t *testing.T) {
201201
middleware := NewBridgeMiddleware(tmpDir, "google", "gemini/1.5-pro", interceptionID, logger, clk)
202202
require.NotNil(t, middleware)
203203

204-
req, err := http.NewRequest(http.MethodPost, "https://api.google.com/v1/chat", bytes.NewReader([]byte(`{}`)))
204+
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "https://api.google.com/v1/chat", bytes.NewReader([]byte(`{}`)))
205205
require.NoError(t, err)
206206

207207
resp3, err := middleware(req, func(r *http.Request) (*http.Response, error) {
@@ -281,7 +281,7 @@ func TestBridgedMiddleware_AllSensitiveRequestHeaders(t *testing.T) {
281281
middleware := NewBridgeMiddleware(tmpDir, "openai", "gpt-4", interceptionID, logger, clk)
282282
require.NotNil(t, middleware)
283283

284-
req, err := http.NewRequest(http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{}`)))
284+
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{}`)))
285285
require.NoError(t, err)
286286

287287
// Set all sensitive headers
@@ -359,7 +359,7 @@ func TestPassthroughMiddleware(t *testing.T) {
359359

360360
rt := NewPassthroughMiddleware(inner, tmpDir, "openai", logger, clk)
361361

362-
req, err := http.NewRequest(http.MethodGet, "https://api.openai.com/v1/models", nil)
362+
req, err := http.NewRequestWithContext(t.Context(), http.MethodGet, "https://api.openai.com/v1/models", nil)
363363
require.NoError(t, err)
364364

365365
resp, err := rt.RoundTrip(req) //nolint:bodyclose // resp is nil on error
@@ -403,7 +403,7 @@ func TestPassthroughMiddleware(t *testing.T) {
403403

404404
rt := NewPassthroughMiddleware(inner, tmpDir, "openai", logger, clk)
405405

406-
req, err := http.NewRequest(http.MethodPost, "/v1/models", bytes.NewReader([]byte(req1Body)))
406+
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "/v1/models", bytes.NewReader([]byte(req1Body)))
407407
require.NoError(t, err)
408408
req.Header.Set("Authorization", "Bearer sk-secret-key-12345")
409409
resp, err := rt.RoundTrip(req)
@@ -413,7 +413,7 @@ func TestPassthroughMiddleware(t *testing.T) {
413413
require.NoError(t, resp.Body.Close())
414414

415415
// Second request should create new req/resp files
416-
req2, err := http.NewRequest(http.MethodPost, "/v1/conversations", bytes.NewReader([]byte(req2Body)))
416+
req2, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "/v1/conversations", bytes.NewReader([]byte(req2Body)))
417417
require.NoError(t, err)
418418
resp2, err := rt.RoundTrip(req2)
419419
require.NoError(t, err)

intercept/apidump/streaming_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func TestMiddleware_StreamingResponse(t *testing.T) {
2828
middleware := NewBridgeMiddleware(tmpDir, "openai", "gpt-4", interceptionID, logger, clk)
2929
require.NotNil(t, middleware)
3030

31-
req, err := http.NewRequest(http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{}`)))
31+
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{}`)))
3232
require.NoError(t, err)
3333

3434
// Simulate a streaming response with multiple chunks
@@ -106,7 +106,7 @@ func TestMiddleware_PreservesResponseBody(t *testing.T) {
106106
middleware := NewBridgeMiddleware(tmpDir, "openai", "gpt-4", interceptionID, logger, clk)
107107
require.NotNil(t, middleware)
108108

109-
req, err := http.NewRequest(http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{}`)))
109+
req, err := http.NewRequestWithContext(t.Context(), http.MethodPost, "https://api.openai.com/v1/chat/completions", bytes.NewReader([]byte(`{}`)))
110110
require.NoError(t, err)
111111

112112
originalRespBody := `{"choices": [{"message": {"content": "hi"}}]}`

intercept/chatcompletions/paramswrap_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,8 @@ func TestOpenAILastUserPrompt(t *testing.T) {
114114

115115
for _, tt := range tests {
116116
t.Run(tt.name, func(t *testing.T) {
117+
t.Parallel()
118+
117119
result, err := tt.wrapper.lastUserPrompt()
118120

119121
if tt.expectError {

intercept/eventstream/eventstream.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ func flush(w http.ResponseWriter) (err error) {
239239
}
240240

241241
defer func() {
242-
if r := recover(); r != nil { //nolint:revive // Intentionally swallowed; likely a broken connection.
242+
if r := recover(); r != nil { //nolint:revive,staticcheck // Intentionally swallowed; likely a broken connection.
243243
}
244244
}()
245245

intercept/messages/base_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,8 @@ func TestAWSBedrockValidation(t *testing.T) {
197197

198198
for _, tt := range tests {
199199
t.Run(tt.name, func(t *testing.T) {
200+
t.Parallel()
201+
200202
base := &interceptionBase{}
201203
opts, err := base.withAWSBedrockOptions(context.Background(), tt.cfg)
202204

@@ -212,7 +214,10 @@ func TestAWSBedrockValidation(t *testing.T) {
212214
}
213215

214216
func TestAccumulateUsage(t *testing.T) {
217+
t.Parallel()
218+
215219
t.Run("Usage to Usage", func(t *testing.T) {
220+
t.Parallel()
216221
dest := &anthropic.Usage{
217222
InputTokens: 10,
218223
OutputTokens: 20,
@@ -253,6 +258,8 @@ func TestAccumulateUsage(t *testing.T) {
253258
})
254259

255260
t.Run("MessageDeltaUsage to MessageDeltaUsage", func(t *testing.T) {
261+
t.Parallel()
262+
256263
dest := &anthropic.MessageDeltaUsage{
257264
InputTokens: 10,
258265
OutputTokens: 20,
@@ -283,6 +290,8 @@ func TestAccumulateUsage(t *testing.T) {
283290
})
284291

285292
t.Run("Usage to MessageDeltaUsage", func(t *testing.T) {
293+
t.Parallel()
294+
286295
dest := &anthropic.MessageDeltaUsage{
287296
InputTokens: 10,
288297
OutputTokens: 20,
@@ -317,6 +326,8 @@ func TestAccumulateUsage(t *testing.T) {
317326
})
318327

319328
t.Run("MessageDeltaUsage to Usage", func(t *testing.T) {
329+
t.Parallel()
330+
320331
dest := &anthropic.Usage{
321332
InputTokens: 10,
322333
OutputTokens: 20,
@@ -354,6 +365,8 @@ func TestAccumulateUsage(t *testing.T) {
354365
})
355366

356367
t.Run("Nil or unsupported types", func(t *testing.T) {
368+
t.Parallel()
369+
357370
// Test with nil dest
358371
var nilUsage *anthropic.Usage
359372
source := anthropic.Usage{InputTokens: 10}

intercept/responses/base_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,8 @@ func (mrw *mockResponseWriter) WriteHeader(statusCode int) {
359359
}
360360

361361
func TestResponseCopierDoesntSendIfNoResponseReceived(t *testing.T) {
362+
t.Parallel()
363+
362364
mrw := mockResponseWriter{}
363365

364366
respCopy := responseCopier{}

internal/integrationtest/apidump_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ import (
1111
"path/filepath"
1212
"strings"
1313
"testing"
14-
"time"
1514

1615
"github.com/stretchr/testify/require"
1716

1817
"github.com/coder/aibridge"
1918
"github.com/coder/aibridge/config"
2019
"github.com/coder/aibridge/fixtures"
2120
"github.com/coder/aibridge/intercept/apidump"
21+
"github.com/coder/aibridge/internal/testutil"
2222
"github.com/coder/aibridge/provider"
2323
)
2424

@@ -114,7 +114,7 @@ func TestAPIDump(t *testing.T) {
114114
t.Run(tc.name, func(t *testing.T) {
115115
t.Parallel()
116116

117-
ctx, cancel := context.WithTimeout(t.Context(), time.Second*30)
117+
ctx, cancel := context.WithTimeout(t.Context(), testutil.WaitLong)
118118
t.Cleanup(cancel)
119119

120120
// Setup mock upstream server.
@@ -244,7 +244,7 @@ func TestAPIDumpPassthrough(t *testing.T) {
244244
t.Run(tc.name, func(t *testing.T) {
245245
t.Parallel()
246246

247-
ctx, cancel := context.WithTimeout(t.Context(), time.Second*30)
247+
ctx, cancel := context.WithTimeout(t.Context(), testutil.WaitLong)
248248
t.Cleanup(cancel)
249249

250250
upstream := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {

0 commit comments

Comments
 (0)