Skip to content

Commit 1483369

Browse files
committed
chore: simplify tests with usetesting linter
1 parent 16ff74a commit 1483369

34 files changed

+306
-340
lines changed

.golangci.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ linters:
1818
- ineffassign
1919
- intrange
2020
- unused
21+
- usetesting
2122
exclusions:
2223
generated: lax
2324
presets:
@@ -40,6 +41,14 @@ linters:
4041
- "all"
4142
- -QF1008
4243
- -ST1000
44+
usetesting:
45+
context-background: true
46+
context-todo: true
47+
os-chdir: true
48+
os-mkdir-temp: true
49+
os-setenv: true
50+
os-create-temp: true
51+
os-temp-dir: true
4352
formatters:
4453
exclusions:
4554
generated: lax

internal/toolsnaps/toolsnaps_test.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,8 @@ type dummyTool struct {
1717

1818
// withIsolatedWorkingDir creates a temp dir, changes to it, and restores the original working dir after the test.
1919
func withIsolatedWorkingDir(t *testing.T) {
20-
dir := t.TempDir()
21-
origDir, err := os.Getwd()
22-
require.NoError(t, err)
23-
t.Cleanup(func() { require.NoError(t, os.Chdir(origDir)) })
24-
require.NoError(t, os.Chdir(dir))
20+
t.Helper()
21+
t.Chdir(t.TempDir())
2522
}
2623

2724
func TestSnapshotDoesNotExistNotInCI(t *testing.T) {

pkg/errors/error_test.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
func TestGitHubErrorContext(t *testing.T) {
1515
t.Run("API errors can be added to context and retrieved", func(t *testing.T) {
1616
// Given a context with GitHub error tracking enabled
17-
ctx := ContextWithGitHubErrors(context.Background())
17+
ctx := ContextWithGitHubErrors(t.Context())
1818

1919
// Create a mock GitHub response
2020
resp := &github.Response{
@@ -43,7 +43,7 @@ func TestGitHubErrorContext(t *testing.T) {
4343

4444
t.Run("GraphQL errors can be added to context and retrieved", func(t *testing.T) {
4545
// Given a context with GitHub error tracking enabled
46-
ctx := ContextWithGitHubErrors(context.Background())
46+
ctx := ContextWithGitHubErrors(t.Context())
4747

4848
originalErr := fmt.Errorf("GraphQL query failed")
4949

@@ -65,7 +65,7 @@ func TestGitHubErrorContext(t *testing.T) {
6565

6666
t.Run("Raw API errors can be added to context and retrieved", func(t *testing.T) {
6767
// Given a context with GitHub error tracking enabled
68-
ctx := ContextWithGitHubErrors(context.Background())
68+
ctx := ContextWithGitHubErrors(t.Context())
6969

7070
// Create a mock HTTP response
7171
resp := &http.Response{
@@ -92,7 +92,7 @@ func TestGitHubErrorContext(t *testing.T) {
9292

9393
t.Run("multiple errors can be accumulated in context", func(t *testing.T) {
9494
// Given a context with GitHub error tracking enabled
95-
ctx := ContextWithGitHubErrors(context.Background())
95+
ctx := ContextWithGitHubErrors(t.Context())
9696

9797
// When we add multiple API errors
9898
resp1 := &github.Response{Response: &http.Response{StatusCode: 404}}
@@ -140,7 +140,7 @@ func TestGitHubErrorContext(t *testing.T) {
140140
// is shared, allowing middleware to inspect errors that were added later.
141141

142142
// Given a context with GitHub error tracking enabled
143-
originalCtx := ContextWithGitHubErrors(context.Background())
143+
originalCtx := ContextWithGitHubErrors(t.Context())
144144

145145
// Simulate a middleware that captures the context early
146146
var middlewareCtx context.Context
@@ -182,7 +182,7 @@ func TestGitHubErrorContext(t *testing.T) {
182182

183183
t.Run("context without GitHub errors returns error", func(t *testing.T) {
184184
// Given a regular context without GitHub error tracking
185-
ctx := context.Background()
185+
ctx := t.Context()
186186

187187
// When we try to retrieve errors
188188
apiErrors, err := GetGitHubAPIErrors(ctx)
@@ -207,7 +207,7 @@ func TestGitHubErrorContext(t *testing.T) {
207207

208208
t.Run("ContextWithGitHubErrors resets existing errors", func(t *testing.T) {
209209
// Given a context with existing errors
210-
ctx := ContextWithGitHubErrors(context.Background())
210+
ctx := ContextWithGitHubErrors(t.Context())
211211
resp := &github.Response{Response: &http.Response{StatusCode: 404}}
212212
ctx, err := NewGitHubAPIErrorToCtx(ctx, "existing error", resp, fmt.Errorf("error"))
213213
require.NoError(t, err)
@@ -241,7 +241,7 @@ func TestGitHubErrorContext(t *testing.T) {
241241

242242
t.Run("NewGitHubAPIErrorResponse creates MCP error result and stores context error", func(t *testing.T) {
243243
// Given a context with GitHub error tracking enabled
244-
ctx := ContextWithGitHubErrors(context.Background())
244+
ctx := ContextWithGitHubErrors(t.Context())
245245

246246
resp := &github.Response{Response: &http.Response{StatusCode: 422}}
247247
originalErr := fmt.Errorf("validation failed")
@@ -266,7 +266,7 @@ func TestGitHubErrorContext(t *testing.T) {
266266

267267
t.Run("NewGitHubGraphQLErrorResponse creates MCP error result and stores context error", func(t *testing.T) {
268268
// Given a context with GitHub error tracking enabled
269-
ctx := ContextWithGitHubErrors(context.Background())
269+
ctx := ContextWithGitHubErrors(t.Context())
270270

271271
originalErr := fmt.Errorf("mutation failed")
272272

@@ -289,7 +289,7 @@ func TestGitHubErrorContext(t *testing.T) {
289289

290290
t.Run("NewGitHubAPIStatusErrorResponse creates MCP error result from status code", func(t *testing.T) {
291291
// Given a context with GitHub error tracking enabled
292-
ctx := ContextWithGitHubErrors(context.Background())
292+
ctx := ContextWithGitHubErrors(t.Context())
293293

294294
resp := &github.Response{Response: &http.Response{StatusCode: 422}}
295295
body := []byte(`{"message": "Validation Failed"}`)
@@ -316,7 +316,7 @@ func TestGitHubErrorContext(t *testing.T) {
316316

317317
t.Run("NewGitHubAPIErrorToCtx with uninitialized context does not error", func(t *testing.T) {
318318
// Given a regular context without GitHub error tracking initialized
319-
ctx := context.Background()
319+
ctx := t.Context()
320320

321321
// Create a mock GitHub response
322322
resp := &github.Response{
@@ -392,7 +392,7 @@ func TestMiddlewareScenario(t *testing.T) {
392392
// Simulate a realistic HTTP middleware scenario
393393

394394
// 1. Request comes in, middleware sets up error tracking
395-
ctx := ContextWithGitHubErrors(context.Background())
395+
ctx := ContextWithGitHubErrors(t.Context())
396396

397397
// 2. Middleware stores reference to context for later inspection
398398
var middlewareCtx context.Context

pkg/github/actions_test.go

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package github
22

33
import (
4-
"context"
54
"encoding/json"
65
"net/http"
76
"testing"
@@ -93,7 +92,7 @@ func Test_ActionsList_ListWorkflows(t *testing.T) {
9392
handler := toolDef.Handler(deps)
9493

9594
request := createMCPRequest(tc.requestArgs)
96-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
95+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
9796

9897
require.NoError(t, err)
9998
require.Equal(t, tc.expectError, result.IsError)
@@ -148,7 +147,7 @@ func Test_ActionsList_ListWorkflowRuns(t *testing.T) {
148147
"repo": "repo",
149148
"resource_id": "ci.yml",
150149
})
151-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
150+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
152151

153152
require.NoError(t, err)
154153
require.False(t, result.IsError)
@@ -196,7 +195,7 @@ func Test_ActionsList_ListWorkflowRuns(t *testing.T) {
196195
"owner": "owner",
197196
"repo": "repo",
198197
})
199-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
198+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
200199

201200
require.NoError(t, err)
202201
require.False(t, result.IsError)
@@ -253,7 +252,7 @@ func Test_ActionsGet_GetWorkflow(t *testing.T) {
253252
"repo": "repo",
254253
"resource_id": "ci.yml",
255254
})
256-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
255+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
257256

258257
require.NoError(t, err)
259258
require.False(t, result.IsError)
@@ -296,7 +295,7 @@ func Test_ActionsGet_GetWorkflowRun(t *testing.T) {
296295
"repo": "repo",
297296
"resource_id": "12345",
298297
})
299-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
298+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
300299

301300
require.NoError(t, err)
302301
require.False(t, result.IsError)
@@ -388,7 +387,7 @@ func Test_ActionsRunTrigger_RunWorkflow(t *testing.T) {
388387
handler := toolDef.Handler(deps)
389388

390389
request := createMCPRequest(tc.requestArgs)
391-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
390+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
392391

393392
require.NoError(t, err)
394393
require.Equal(t, tc.expectError, result.IsError)
@@ -430,7 +429,7 @@ func Test_ActionsRunTrigger_CancelWorkflowRun(t *testing.T) {
430429
"repo": "repo",
431430
"run_id": float64(12345),
432431
})
433-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
432+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
434433

435434
require.NoError(t, err)
436435
require.False(t, result.IsError)
@@ -461,7 +460,7 @@ func Test_ActionsRunTrigger_CancelWorkflowRun(t *testing.T) {
461460
"repo": "repo",
462461
"run_id": float64(12345),
463462
})
464-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
463+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
465464

466465
require.NoError(t, err)
467466
require.True(t, result.IsError)
@@ -484,7 +483,7 @@ func Test_ActionsRunTrigger_CancelWorkflowRun(t *testing.T) {
484483
"owner": "owner",
485484
"repo": "repo",
486485
})
487-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
486+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
488487

489488
require.NoError(t, err)
490489
require.True(t, result.IsError)
@@ -537,7 +536,7 @@ func Test_ActionsGetJobLogs_SingleJob(t *testing.T) {
537536
"repo": "repo",
538537
"job_id": float64(123),
539538
})
540-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
539+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
541540

542541
require.NoError(t, err)
543542
require.False(t, result.IsError)
@@ -600,7 +599,7 @@ func Test_ActionsGetJobLogs_FailedJobs(t *testing.T) {
600599
"run_id": float64(456),
601600
"failed_only": true,
602601
})
603-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
602+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
604603

605604
require.NoError(t, err)
606605
require.False(t, result.IsError)
@@ -650,7 +649,7 @@ func Test_ActionsGetJobLogs_FailedJobs(t *testing.T) {
650649
"run_id": float64(456),
651650
"failed_only": true,
652651
})
653-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
652+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
654653

655654
require.NoError(t, err)
656655
require.False(t, result.IsError)

pkg/github/code_scanning_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package github
22

33
import (
4-
"context"
54
"encoding/json"
65
"net/http"
76
"testing"
@@ -90,7 +89,7 @@ func Test_GetCodeScanningAlert(t *testing.T) {
9089
request := createMCPRequest(tc.requestArgs)
9190

9291
// Call handler with new signature
93-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
92+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
9493

9594
// Verify results
9695
if tc.expectError {
@@ -216,7 +215,7 @@ func Test_ListCodeScanningAlerts(t *testing.T) {
216215
request := createMCPRequest(tc.requestArgs)
217216

218217
// Call handler with new signature
219-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
218+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
220219

221220
// Verify results
222221
if tc.expectError {

pkg/github/context_tools_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package github
22

33
import (
4-
"context"
54
"encoding/json"
65
"net/http"
76
"testing"
@@ -103,7 +102,7 @@ func Test_GetMe(t *testing.T) {
103102
handler := serverTool.Handler(deps)
104103

105104
request := createMCPRequest(tc.requestArgs)
106-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
105+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
107106
require.NoError(t, err)
108107

109108
if tc.expectToolError {
@@ -341,7 +340,7 @@ func Test_GetTeams(t *testing.T) {
341340
handler := serverTool.Handler(deps)
342341

343342
request := createMCPRequest(tc.requestArgs)
344-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
343+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
345344
require.NoError(t, err)
346345

347346
if tc.expectToolError {
@@ -484,7 +483,7 @@ func Test_GetTeamMembers(t *testing.T) {
484483
handler := serverTool.Handler(tc.deps)
485484

486485
request := createMCPRequest(tc.requestArgs)
487-
result, err := handler(ContextWithDeps(context.Background(), tc.deps), &request)
486+
result, err := handler(ContextWithDeps(t.Context(), tc.deps), &request)
488487
require.NoError(t, err)
489488

490489
if tc.expectToolError {

pkg/github/copilot_test.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package github
22

33
import (
4-
"context"
54
"encoding/json"
65
"fmt"
76
"net/http"
@@ -40,7 +39,7 @@ func TestAssignCopilotToIssue(t *testing.T) {
4039
return &v
4140
}
4241

43-
var pageOfFakeBots = func(n int) []struct{} {
42+
pageOfFakeBots := func(n int) []struct{} {
4443
// We don't _really_ need real bots here, just objects that count as entries for the page
4544
bots := make([]struct{}, n)
4645
for i := range n {
@@ -698,7 +697,6 @@ func TestAssignCopilotToIssue(t *testing.T) {
698697

699698
for _, tc := range tests {
700699
t.Run(tc.name, func(t *testing.T) {
701-
702700
t.Parallel()
703701
// Setup client with mock
704702
client := githubv4.NewClient(tc.mockedClient)
@@ -711,7 +709,7 @@ func TestAssignCopilotToIssue(t *testing.T) {
711709
request := createMCPRequest(tc.requestArgs)
712710

713711
// Disable polling in tests to avoid timeouts
714-
ctx := ContextWithPollConfig(context.Background(), PollConfig{MaxAttempts: 0})
712+
ctx := ContextWithPollConfig(t.Context(), PollConfig{MaxAttempts: 0})
715713
ctx = ContextWithDeps(ctx, deps)
716714

717715
// Call handler
@@ -832,7 +830,7 @@ func Test_RequestCopilotReview(t *testing.T) {
832830

833831
request := createMCPRequest(tc.requestArgs)
834832

835-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
833+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
836834

837835
if tc.expectError {
838836
require.NoError(t, err)

pkg/github/dependabot_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package github
22

33
import (
4-
"context"
54
"encoding/json"
65
"net/http"
76
"testing"
@@ -81,7 +80,7 @@ func Test_GetDependabotAlert(t *testing.T) {
8180
request := createMCPRequest(tc.requestArgs)
8281

8382
// Call handler
84-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
83+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
8584

8685
// Verify results
8786
if tc.expectError {
@@ -218,7 +217,7 @@ func Test_ListDependabotAlerts(t *testing.T) {
218217

219218
request := createMCPRequest(tc.requestArgs)
220219

221-
result, err := handler(ContextWithDeps(context.Background(), deps), &request)
220+
result, err := handler(ContextWithDeps(t.Context(), deps), &request)
222221

223222
if tc.expectError {
224223
require.NoError(t, err)

0 commit comments

Comments
 (0)