Skip to content

Commit e007125

Browse files
behinddwallsclaude
andcommitted
refactor(test): use gomock for Delivery with mocks folder structure
## Summary Replace manual mockDelivery with gomock-generated mock in a dedicated mocks package. ## What Changed **Delivery Mock:** - Generate gomock in extension/queue/mocks/ package - Add go:generate directive to delivery.go - Create extension/queue/mocks/BUILD.bazel **Request Controller Tests:** - Update request_test.go to use mocks.NewMockDelivery - Add Message() and Attempt() expectations (controller calls these for logging) - Remove 45 lines of manual mockDelivery struct - Add mocks package dependency to BUILD.bazel ## Why Gomock in Mocks Folder? 1. Already used in codebase (extension/queue/sql) 2. Organized structure - mocks in dedicated package 3. Eliminates duplicate manual mocks 4. Better type safety and compile-time verification 5. Easier to maintain with go:generate directive ## Files Changed - extension/queue/delivery.go (go:generate directive) - extension/queue/mocks/delivery.go (new - generated mock) - extension/queue/mocks/BUILD.bazel (new - bazel build) - orchestrator/controller/request/request_test.go (use gomock) - orchestrator/controller/request/BUILD.bazel (add mocks dep) - orchestrator/controller/BUILD.bazel (gazelle formatting) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 39e6a79 commit e007125

6 files changed

Lines changed: 201 additions & 75 deletions

File tree

extension/queue/delivery.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package queue
22

3+
//go:generate mockgen -source=delivery.go -destination=mocks/delivery.go -package=mocks
4+
35
import (
46
"context"
57

extension/queue/mocks/BUILD.bazel

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
load("@rules_go//go:def.bzl", "go_library")
2+
3+
go_library(
4+
name = "mocks",
5+
srcs = ["delivery.go"],
6+
importpath = "github.com/uber/submitqueue/extension/queue/mocks",
7+
visibility = ["//visibility:public"],
8+
deps = [
9+
"//entity/queue",
10+
"@org_uber_go_mock//gomock",
11+
],
12+
)

extension/queue/mocks/delivery.go

Lines changed: 154 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

orchestrator/controller/BUILD.bazel

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test")
22

33
go_library(
44
name = "controller",
5-
srcs = [
6-
"ping.go",
7-
],
5+
srcs = ["ping.go"],
86
importpath = "github.com/uber/submitqueue/orchestrator/controller",
97
visibility = ["//visibility:public"],
108
deps = [
@@ -16,16 +14,13 @@ go_library(
1614

1715
go_test(
1816
name = "controller_test",
19-
srcs = [
20-
"ping_test.go",
21-
],
17+
srcs = ["ping_test.go"],
2218
embed = [":controller"],
2319
deps = [
2420
"//orchestrator/protopb",
2521
"@com_github_stretchr_testify//assert",
2622
"@com_github_stretchr_testify//require",
2723
"@com_github_uber_go_tally_v4//:tally",
2824
"@org_uber_go_zap//:zap",
29-
"@org_uber_go_zap//zaptest",
3025
],
3126
)

orchestrator/controller/request/BUILD.bazel

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test")
22

33
go_library(
44
name = "request",
5-
srcs = [
6-
"request.go",
7-
],
5+
srcs = ["request.go"],
86
importpath = "github.com/uber/submitqueue/orchestrator/controller/request",
97
visibility = ["//visibility:public"],
108
deps = [
@@ -18,17 +16,17 @@ go_library(
1816

1917
go_test(
2018
name = "request_test",
21-
srcs = [
22-
"request_test.go",
23-
],
19+
srcs = ["request_test.go"],
2420
embed = [":request"],
2521
deps = [
2622
"//entity",
2723
"//entity/queue",
2824
"//extension/queue",
25+
"//extension/queue/mocks",
2926
"@com_github_stretchr_testify//assert",
3027
"@com_github_stretchr_testify//require",
3128
"@com_github_uber_go_tally_v4//:tally",
29+
"@org_uber_go_mock//gomock",
3230
"@org_uber_go_zap//zaptest",
3331
],
3432
)

0 commit comments

Comments
 (0)