diff --git a/CLAUDE.md b/CLAUDE.md index 87c13559..c5d6f516 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -160,10 +160,12 @@ make build # Build all services make test # Run unit tests make lint # Run all linters (fmt + YAML) make fmt # Format Go and YAML code +make check-mocks # Check mock files are up to date make check-tidy # Check go.mod and MODULE.bazel are tidy make check-gazelle # Check BUILD.bazel files are up to date make tidy # Run go mod tidy + bazel mod tidy make gazelle # Update BUILD.bazel files +make mocks # Generate mock files using mockgen make integration-test # Run all integration tests (Docker-based) make e2e-test # Run end-to-end tests make proto # Regenerate proto files @@ -194,41 +196,29 @@ make clean # Clean Bazel cache **Add gomock for an extension interface:** -Mocks use the Bazel `gomock` rule from `@rules_go//extras:gomock.bzl` and are generated at build time (not checked in). See `extension/storage/mock/` for the canonical example. +Mocks are checked-in files generated by [mockgen](https://github.com/uber-go/mock). Run `make mocks` to regenerate, then `make gazelle` to update BUILD files. See `extension/storage/mock/` for the canonical example. To add a mock for a new interface file in an existing mock package (e.g., `extension/storage/new_store.go`): 1. Add a `//go:generate` directive to the interface file: ```go - //go:generate mockgen -source=new_store.go -destination=mock/new_store.go -package=mock + //go:generate mockgen -source=new_store.go -destination=mock/new_store_mock.go -package=mock ``` -2. Add the file to `exports_files` in the parent `BUILD.bazel` with visibility to the mock package: - ```starlark - exports_files( - ["new_store.go", ...], - visibility = ["//extension/storage/mock:__pkg__"], - ) - ``` -3. Add a `gomock` rule in the mock `BUILD.bazel`: - ```starlark - gomock( - name = "mock_new_store_src", - out = "new_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:new_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", - ) - ``` -4. Add the rule target to the `go_library` srcs in the same file. +2. Run `make mocks` to generate the mock file. +3. Run `make gazelle` to update `BUILD.bazel` files. +4. Commit the generated mock file. + +To create a mock package for a new extension (e.g., `extension/newext/mock/`): -To create a mock package for a new extension (e.g., `extension/queue/mock/`): +1. Add `//go:generate` directives to each interface file (same pattern as above). +2. Create the `mock/` directory: `mkdir extension/newext/mock/`. +3. Run `make mocks` to generate mock files into the new directory. +4. Run `make gazelle` to create the `BUILD.bazel` file automatically. -1. Create `extension/{ext}/mock/BUILD.bazel` with `gomock` rules, a `go_library`, and `# gazelle:ignore`. -2. Add `exports_files` to `extension/{ext}/BUILD.bazel` for each interface file. -3. Follow the same per-interface pattern as above. +For inline mocks (mock in the same package, e.g., `extension/queue/mysql/mock_stores.go`): -Mock `BUILD.bazel` files use `# gazelle:ignore` so `make gazelle` will not update them — they must be maintained manually. +1. Add a `//go:generate` directive with `-package=mypkg` and `-destination=mock_file.go`. +2. Run `make mocks` and `make gazelle`. **Using mocks in tests:** ```go diff --git a/Makefile b/Makefile index b68e6eb8..622364cd 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ define assert_clean fi endef -.PHONY: build build-all-linux build-gateway-linux build-orchestrator-linux check-gazelle check-tidy clean clean-proto deps e2e-test fmt gazelle integration-test integration-test-consumer integration-test-extensions integration-test-gateway integration-test-orchestrator license-fix lint lint-fmt lint-license local-clean local-gateway-start local-gateway-stop local-init-schemas local-logs local-orchestrator-start local-orchestrator-stop local-ps local-restart local-start local-stop proto query-deps query-targets run-client-gateway run-client-orchestrator run-queue-admin test test-no-cache tidy tidy-bazel tidy-go help +.PHONY: build build-all-linux build-gateway-linux build-orchestrator-linux check-gazelle check-mocks check-tidy clean clean-proto deps e2e-test fmt gazelle integration-test integration-test-consumer integration-test-extensions integration-test-gateway integration-test-orchestrator license-fix lint lint-fmt lint-license local-clean local-gateway-start local-gateway-stop local-init-schemas local-logs local-orchestrator-start local-orchestrator-stop local-ps local-restart local-start local-stop mocks proto query-deps query-targets run-client-gateway run-client-orchestrator run-queue-admin test test-no-cache tidy tidy-bazel tidy-go help build: ## Build all services and examples @@ -64,6 +64,10 @@ check-gazelle: ## Check BUILD.bazel files are up to date $(call assert_clean,make gazelle) @echo "BUILD files are up to date." +check-mocks: mocks ## Check mock files are up to date + $(call assert_clean,make mocks) + @echo "Mock files are up to date." + check-tidy: tidy ## Check that go.mod and MODULE.bazel are tidy $(call assert_clean,make tidy) @echo "Module files are up to date." @@ -239,6 +243,11 @@ local-stop: ## Stop all services (keep data) @$(COMPOSE) -f $(COMPOSE_FILE) -p $(LOCAL_PROJECT) down @echo "Services stopped. Data volumes preserved." +mocks: ## Generate mock files using mockgen + @echo "Generating mocks..." + @$(BAZEL) run @rules_go//go -- generate ./extension/storage/... ./extension/counter/... ./extension/queue/... ./extension/mergechecker/... ./extension/scorer/... ./core/consumer/... + @echo "Mocks generated successfully!" + proto: ## Generate protobuf files from .proto definitions @echo "Generating protobuf files with protoc..." @protoc --go_out=gateway/protopb --go_opt=paths=source_relative \ diff --git a/core/consumer/BUILD.bazel b/core/consumer/BUILD.bazel index 42211941..392b1006 100644 --- a/core/consumer/BUILD.bazel +++ b/core/consumer/BUILD.bazel @@ -1,10 +1,5 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") -exports_files( - ["controller.go"], - visibility = ["//core/consumer/mock:__pkg__"], -) - go_library( name = "consumer", srcs = [ diff --git a/core/consumer/mock/BUILD.bazel b/core/consumer/mock/BUILD.bazel index b0bfcc30..d03283fc 100644 --- a/core/consumer/mock/BUILD.bazel +++ b/core/consumer/mock/BUILD.bazel @@ -1,23 +1,8 @@ -load("@rules_go//extras:gomock.bzl", "gomock") load("@rules_go//go:def.bzl", "go_library") -_MOCKGEN = "@org_uber_go_mock//mockgen" - -gomock( - name = "mock_controller_src", - out = "controller_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//core/consumer:controller.go", - source_importpath = "github.com/uber/submitqueue/core/consumer", -) - -# gazelle:ignore go_library( name = "mock", - srcs = [ - ":mock_controller_src", - ], + srcs = ["controller_mock.go"], importpath = "github.com/uber/submitqueue/core/consumer/mock", visibility = ["//visibility:public"], deps = [ diff --git a/core/consumer/mock/controller_mock.go b/core/consumer/mock/controller_mock.go new file mode 100644 index 00000000..7b0d6b19 --- /dev/null +++ b/core/consumer/mock/controller_mock.go @@ -0,0 +1,207 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: controller.go +// +// Generated by this command: +// +// mockgen -source=controller.go -destination=mock/controller_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + consumer "github.com/uber/submitqueue/core/consumer" + queue "github.com/uber/submitqueue/entity/queue" + gomock "go.uber.org/mock/gomock" +) + +// MockDelivery is a mock of Delivery interface. +type MockDelivery struct { + ctrl *gomock.Controller + recorder *MockDeliveryMockRecorder + isgomock struct{} +} + +// MockDeliveryMockRecorder is the mock recorder for MockDelivery. +type MockDeliveryMockRecorder struct { + mock *MockDelivery +} + +// NewMockDelivery creates a new mock instance. +func NewMockDelivery(ctrl *gomock.Controller) *MockDelivery { + mock := &MockDelivery{ctrl: ctrl} + mock.recorder = &MockDeliveryMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDelivery) EXPECT() *MockDeliveryMockRecorder { + return m.recorder +} + +// Attempt mocks base method. +func (m *MockDelivery) Attempt() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Attempt") + ret0, _ := ret[0].(int) + return ret0 +} + +// Attempt indicates an expected call of Attempt. +func (mr *MockDeliveryMockRecorder) Attempt() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Attempt", reflect.TypeOf((*MockDelivery)(nil).Attempt)) +} + +// DeliveryID mocks base method. +func (m *MockDelivery) DeliveryID() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeliveryID") + ret0, _ := ret[0].(string) + return ret0 +} + +// DeliveryID indicates an expected call of DeliveryID. +func (mr *MockDeliveryMockRecorder) DeliveryID() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeliveryID", reflect.TypeOf((*MockDelivery)(nil).DeliveryID)) +} + +// ExtendVisibilityTimeout mocks base method. +func (m *MockDelivery) ExtendVisibilityTimeout(ctx context.Context, durationMillis int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExtendVisibilityTimeout", ctx, durationMillis) + ret0, _ := ret[0].(error) + return ret0 +} + +// ExtendVisibilityTimeout indicates an expected call of ExtendVisibilityTimeout. +func (mr *MockDeliveryMockRecorder) ExtendVisibilityTimeout(ctx, durationMillis any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtendVisibilityTimeout", reflect.TypeOf((*MockDelivery)(nil).ExtendVisibilityTimeout), ctx, durationMillis) +} + +// Message mocks base method. +func (m *MockDelivery) Message() queue.Message { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Message") + ret0, _ := ret[0].(queue.Message) + return ret0 +} + +// Message indicates an expected call of Message. +func (mr *MockDeliveryMockRecorder) Message() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Message", reflect.TypeOf((*MockDelivery)(nil).Message)) +} + +// Metadata mocks base method. +func (m *MockDelivery) Metadata() map[string]string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Metadata") + ret0, _ := ret[0].(map[string]string) + return ret0 +} + +// Metadata indicates an expected call of Metadata. +func (mr *MockDeliveryMockRecorder) Metadata() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Metadata", reflect.TypeOf((*MockDelivery)(nil).Metadata)) +} + +// ReceivedAt mocks base method. +func (m *MockDelivery) ReceivedAt() int64 { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReceivedAt") + ret0, _ := ret[0].(int64) + return ret0 +} + +// ReceivedAt indicates an expected call of ReceivedAt. +func (mr *MockDeliveryMockRecorder) ReceivedAt() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReceivedAt", reflect.TypeOf((*MockDelivery)(nil).ReceivedAt)) +} + +// MockController is a mock of Controller interface. +type MockController struct { + ctrl *gomock.Controller + recorder *MockControllerMockRecorder + isgomock struct{} +} + +// MockControllerMockRecorder is the mock recorder for MockController. +type MockControllerMockRecorder struct { + mock *MockController +} + +// NewMockController creates a new mock instance. +func NewMockController(ctrl *gomock.Controller) *MockController { + mock := &MockController{ctrl: ctrl} + mock.recorder = &MockControllerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockController) EXPECT() *MockControllerMockRecorder { + return m.recorder +} + +// ConsumerGroup mocks base method. +func (m *MockController) ConsumerGroup() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ConsumerGroup") + ret0, _ := ret[0].(string) + return ret0 +} + +// ConsumerGroup indicates an expected call of ConsumerGroup. +func (mr *MockControllerMockRecorder) ConsumerGroup() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConsumerGroup", reflect.TypeOf((*MockController)(nil).ConsumerGroup)) +} + +// Name mocks base method. +func (m *MockController) Name() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Name") + ret0, _ := ret[0].(string) + return ret0 +} + +// Name indicates an expected call of Name. +func (mr *MockControllerMockRecorder) Name() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockController)(nil).Name)) +} + +// Process mocks base method. +func (m *MockController) Process(ctx context.Context, delivery consumer.Delivery) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Process", ctx, delivery) + ret0, _ := ret[0].(error) + return ret0 +} + +// Process indicates an expected call of Process. +func (mr *MockControllerMockRecorder) Process(ctx, delivery any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Process", reflect.TypeOf((*MockController)(nil).Process), ctx, delivery) +} + +// TopicKey mocks base method. +func (m *MockController) TopicKey() consumer.TopicKey { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TopicKey") + ret0, _ := ret[0].(consumer.TopicKey) + return ret0 +} + +// TopicKey indicates an expected call of TopicKey. +func (mr *MockControllerMockRecorder) TopicKey() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TopicKey", reflect.TypeOf((*MockController)(nil).TopicKey)) +} diff --git a/extension/counter/BUILD.bazel b/extension/counter/BUILD.bazel index 83293c31..ee7a5b31 100644 --- a/extension/counter/BUILD.bazel +++ b/extension/counter/BUILD.bazel @@ -1,10 +1,5 @@ load("@rules_go//go:def.bzl", "go_library") -exports_files( - ["counter.go"], - visibility = ["//extension/counter/mock:__pkg__"], -) - go_library( name = "counter", srcs = ["counter.go"], diff --git a/extension/counter/counter.go b/extension/counter/counter.go index fe0c9205..b419a25e 100644 --- a/extension/counter/counter.go +++ b/extension/counter/counter.go @@ -14,7 +14,7 @@ package counter -//go:generate mockgen -source=counter.go -destination=mock/counter.go -package=mock +//go:generate mockgen -source=counter.go -destination=mock/counter_mock.go -package=mock import "context" diff --git a/extension/counter/mock/BUILD.bazel b/extension/counter/mock/BUILD.bazel index 5b5d8964..7d300325 100644 --- a/extension/counter/mock/BUILD.bazel +++ b/extension/counter/mock/BUILD.bazel @@ -1,27 +1,9 @@ -load("@rules_go//extras:gomock.bzl", "gomock") load("@rules_go//go:def.bzl", "go_library") -_MOCKGEN = "@org_uber_go_mock//mockgen" - -gomock( - name = "mock_counter_src", - out = "counter_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/counter:counter.go", - source_importpath = "github.com/uber/submitqueue/extension/counter", -) - -# gazelle:ignore go_library( name = "mock", - srcs = [ - ":mock_counter_src", - ], + srcs = ["counter_mock.go"], importpath = "github.com/uber/submitqueue/extension/counter/mock", visibility = ["//visibility:public"], - deps = [ - "//extension/counter", - "@org_uber_go_mock//gomock", - ], + deps = ["@org_uber_go_mock//gomock"], ) diff --git a/extension/counter/mock/counter_mock.go b/extension/counter/mock/counter_mock.go new file mode 100644 index 00000000..5f1d18af --- /dev/null +++ b/extension/counter/mock/counter_mock.go @@ -0,0 +1,56 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: counter.go +// +// Generated by this command: +// +// mockgen -source=counter.go -destination=mock/counter_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + gomock "go.uber.org/mock/gomock" +) + +// MockCounter is a mock of Counter interface. +type MockCounter struct { + ctrl *gomock.Controller + recorder *MockCounterMockRecorder + isgomock struct{} +} + +// MockCounterMockRecorder is the mock recorder for MockCounter. +type MockCounterMockRecorder struct { + mock *MockCounter +} + +// NewMockCounter creates a new mock instance. +func NewMockCounter(ctrl *gomock.Controller) *MockCounter { + mock := &MockCounter{ctrl: ctrl} + mock.recorder = &MockCounterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockCounter) EXPECT() *MockCounterMockRecorder { + return m.recorder +} + +// Next mocks base method. +func (m *MockCounter) Next(ctx context.Context, domain string) (int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Next", ctx, domain) + ret0, _ := ret[0].(int64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Next indicates an expected call of Next. +func (mr *MockCounterMockRecorder) Next(ctx, domain any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Next", reflect.TypeOf((*MockCounter)(nil).Next), ctx, domain) +} diff --git a/extension/mergechecker/BUILD.bazel b/extension/mergechecker/BUILD.bazel index e5a5d20e..1f797fde 100644 --- a/extension/mergechecker/BUILD.bazel +++ b/extension/mergechecker/BUILD.bazel @@ -1,10 +1,5 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") -exports_files( - ["mergechecker.go"], - visibility = ["//extension/mergechecker/mock:__pkg__"], -) - go_library( name = "mergechecker", srcs = [ diff --git a/extension/mergechecker/mock/BUILD.bazel b/extension/mergechecker/mock/BUILD.bazel index 730b7e9b..bb83b0fe 100644 --- a/extension/mergechecker/mock/BUILD.bazel +++ b/extension/mergechecker/mock/BUILD.bazel @@ -1,23 +1,8 @@ -load("@rules_go//extras:gomock.bzl", "gomock") load("@rules_go//go:def.bzl", "go_library") -_MOCKGEN = "@org_uber_go_mock//mockgen" - -gomock( - name = "mock_mergechecker_src", - out = "mergechecker_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/mergechecker:mergechecker.go", - source_importpath = "github.com/uber/submitqueue/extension/mergechecker", -) - -# gazelle:ignore go_library( name = "mock", - srcs = [ - ":mock_mergechecker_src", - ], + srcs = ["mergechecker_mock.go"], importpath = "github.com/uber/submitqueue/extension/mergechecker/mock", visibility = ["//visibility:public"], deps = [ diff --git a/extension/mergechecker/mock/mergechecker_mock.go b/extension/mergechecker/mock/mergechecker_mock.go new file mode 100644 index 00000000..8de75eec --- /dev/null +++ b/extension/mergechecker/mock/mergechecker_mock.go @@ -0,0 +1,58 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: mergechecker.go +// +// Generated by this command: +// +// mockgen -source=mergechecker.go -destination=mock/mergechecker_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + mergechecker "github.com/uber/submitqueue/extension/mergechecker" + gomock "go.uber.org/mock/gomock" +) + +// MockMergeChecker is a mock of MergeChecker interface. +type MockMergeChecker struct { + ctrl *gomock.Controller + recorder *MockMergeCheckerMockRecorder + isgomock struct{} +} + +// MockMergeCheckerMockRecorder is the mock recorder for MockMergeChecker. +type MockMergeCheckerMockRecorder struct { + mock *MockMergeChecker +} + +// NewMockMergeChecker creates a new mock instance. +func NewMockMergeChecker(ctrl *gomock.Controller) *MockMergeChecker { + mock := &MockMergeChecker{ctrl: ctrl} + mock.recorder = &MockMergeCheckerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockMergeChecker) EXPECT() *MockMergeCheckerMockRecorder { + return m.recorder +} + +// Check mocks base method. +func (m *MockMergeChecker) Check(ctx context.Context, queue string, change entity.Change) (mergechecker.Result, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Check", ctx, queue, change) + ret0, _ := ret[0].(mergechecker.Result) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Check indicates an expected call of Check. +func (mr *MockMergeCheckerMockRecorder) Check(ctx, queue, change any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Check", reflect.TypeOf((*MockMergeChecker)(nil).Check), ctx, queue, change) +} diff --git a/extension/queue/BUILD.bazel b/extension/queue/BUILD.bazel index 25cdf675..993dcbc9 100644 --- a/extension/queue/BUILD.bazel +++ b/extension/queue/BUILD.bazel @@ -1,15 +1,5 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") -exports_files( - [ - "delivery.go", - "publisher.go", - "queue.go", - "subscriber.go", - ], - visibility = ["//extension/queue/mock:__pkg__"], -) - go_library( name = "queue", srcs = [ diff --git a/extension/queue/delivery.go b/extension/queue/delivery.go index 7c2eef81..d5d772c7 100644 --- a/extension/queue/delivery.go +++ b/extension/queue/delivery.go @@ -14,7 +14,7 @@ package queue -//go:generate mockgen -source=delivery.go -destination=mock/delivery.go -package=mock +//go:generate mockgen -source=delivery.go -destination=mock/delivery_mock.go -package=mock import ( "context" diff --git a/extension/queue/mock/BUILD.bazel b/extension/queue/mock/BUILD.bazel index f8ef1656..a1644cf6 100644 --- a/extension/queue/mock/BUILD.bazel +++ b/extension/queue/mock/BUILD.bazel @@ -1,52 +1,12 @@ -load("@rules_go//extras:gomock.bzl", "gomock") load("@rules_go//go:def.bzl", "go_library") -_MOCKGEN = "@org_uber_go_mock//mockgen" - -gomock( - name = "mock_delivery_src", - out = "delivery_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/queue:delivery.go", - source_importpath = "github.com/uber/submitqueue/extension/queue", -) - -gomock( - name = "mock_publisher_src", - out = "publisher_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/queue:publisher.go", - source_importpath = "github.com/uber/submitqueue/extension/queue", -) - -gomock( - name = "mock_queue_src", - out = "queue_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/queue:queue.go", - source_importpath = "github.com/uber/submitqueue/extension/queue", -) - -gomock( - name = "mock_subscriber_src", - out = "subscriber_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/queue:subscriber.go", - source_importpath = "github.com/uber/submitqueue/extension/queue", -) - -# gazelle:ignore go_library( name = "mock", srcs = [ - ":mock_delivery_src", - ":mock_publisher_src", - ":mock_queue_src", - ":mock_subscriber_src", + "delivery_mock.go", + "publisher_mock.go", + "queue_mock.go", + "subscriber_mock.go", ], importpath = "github.com/uber/submitqueue/extension/queue/mock", visibility = ["//visibility:public"], diff --git a/extension/queue/mock/delivery_mock.go b/extension/queue/mock/delivery_mock.go new file mode 100644 index 00000000..9e7ed90b --- /dev/null +++ b/extension/queue/mock/delivery_mock.go @@ -0,0 +1,168 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: delivery.go +// +// Generated by this command: +// +// mockgen -source=delivery.go -destination=mock/delivery_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + queue "github.com/uber/submitqueue/entity/queue" + gomock "go.uber.org/mock/gomock" +) + +// MockDelivery is a mock of Delivery interface. +type MockDelivery struct { + ctrl *gomock.Controller + recorder *MockDeliveryMockRecorder + isgomock struct{} +} + +// MockDeliveryMockRecorder is the mock recorder for MockDelivery. +type MockDeliveryMockRecorder struct { + mock *MockDelivery +} + +// NewMockDelivery creates a new mock instance. +func NewMockDelivery(ctrl *gomock.Controller) *MockDelivery { + mock := &MockDelivery{ctrl: ctrl} + mock.recorder = &MockDeliveryMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDelivery) EXPECT() *MockDeliveryMockRecorder { + return m.recorder +} + +// Ack mocks base method. +func (m *MockDelivery) Ack(ctx context.Context) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Ack", ctx) + ret0, _ := ret[0].(error) + return ret0 +} + +// Ack indicates an expected call of Ack. +func (mr *MockDeliveryMockRecorder) Ack(ctx any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Ack", reflect.TypeOf((*MockDelivery)(nil).Ack), ctx) +} + +// Attempt mocks base method. +func (m *MockDelivery) Attempt() int { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Attempt") + ret0, _ := ret[0].(int) + return ret0 +} + +// Attempt indicates an expected call of Attempt. +func (mr *MockDeliveryMockRecorder) Attempt() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Attempt", reflect.TypeOf((*MockDelivery)(nil).Attempt)) +} + +// DeliveryID mocks base method. +func (m *MockDelivery) DeliveryID() string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeliveryID") + ret0, _ := ret[0].(string) + return ret0 +} + +// DeliveryID indicates an expected call of DeliveryID. +func (mr *MockDeliveryMockRecorder) DeliveryID() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeliveryID", reflect.TypeOf((*MockDelivery)(nil).DeliveryID)) +} + +// ExtendVisibilityTimeout mocks base method. +func (m *MockDelivery) ExtendVisibilityTimeout(ctx context.Context, durationMillis int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExtendVisibilityTimeout", ctx, durationMillis) + ret0, _ := ret[0].(error) + return ret0 +} + +// ExtendVisibilityTimeout indicates an expected call of ExtendVisibilityTimeout. +func (mr *MockDeliveryMockRecorder) ExtendVisibilityTimeout(ctx, durationMillis any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExtendVisibilityTimeout", reflect.TypeOf((*MockDelivery)(nil).ExtendVisibilityTimeout), ctx, durationMillis) +} + +// Message mocks base method. +func (m *MockDelivery) Message() queue.Message { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Message") + ret0, _ := ret[0].(queue.Message) + return ret0 +} + +// Message indicates an expected call of Message. +func (mr *MockDeliveryMockRecorder) Message() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Message", reflect.TypeOf((*MockDelivery)(nil).Message)) +} + +// Metadata mocks base method. +func (m *MockDelivery) Metadata() map[string]string { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Metadata") + ret0, _ := ret[0].(map[string]string) + return ret0 +} + +// Metadata indicates an expected call of Metadata. +func (mr *MockDeliveryMockRecorder) Metadata() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Metadata", reflect.TypeOf((*MockDelivery)(nil).Metadata)) +} + +// Nack mocks base method. +func (m *MockDelivery) Nack(ctx context.Context, requeueAfterMillis int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Nack", ctx, requeueAfterMillis) + ret0, _ := ret[0].(error) + return ret0 +} + +// Nack indicates an expected call of Nack. +func (mr *MockDeliveryMockRecorder) Nack(ctx, requeueAfterMillis any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Nack", reflect.TypeOf((*MockDelivery)(nil).Nack), ctx, requeueAfterMillis) +} + +// ReceivedAt mocks base method. +func (m *MockDelivery) ReceivedAt() int64 { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ReceivedAt") + ret0, _ := ret[0].(int64) + return ret0 +} + +// ReceivedAt indicates an expected call of ReceivedAt. +func (mr *MockDeliveryMockRecorder) ReceivedAt() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReceivedAt", reflect.TypeOf((*MockDelivery)(nil).ReceivedAt)) +} + +// Reject mocks base method. +func (m *MockDelivery) Reject(ctx context.Context, reason string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Reject", ctx, reason) + ret0, _ := ret[0].(error) + return ret0 +} + +// Reject indicates an expected call of Reject. +func (mr *MockDeliveryMockRecorder) Reject(ctx, reason any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Reject", reflect.TypeOf((*MockDelivery)(nil).Reject), ctx, reason) +} diff --git a/extension/queue/mock/publisher_mock.go b/extension/queue/mock/publisher_mock.go new file mode 100644 index 00000000..6d09400b --- /dev/null +++ b/extension/queue/mock/publisher_mock.go @@ -0,0 +1,70 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: publisher.go +// +// Generated by this command: +// +// mockgen -source=publisher.go -destination=mock/publisher_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + queue "github.com/uber/submitqueue/entity/queue" + gomock "go.uber.org/mock/gomock" +) + +// MockPublisher is a mock of Publisher interface. +type MockPublisher struct { + ctrl *gomock.Controller + recorder *MockPublisherMockRecorder + isgomock struct{} +} + +// MockPublisherMockRecorder is the mock recorder for MockPublisher. +type MockPublisherMockRecorder struct { + mock *MockPublisher +} + +// NewMockPublisher creates a new mock instance. +func NewMockPublisher(ctrl *gomock.Controller) *MockPublisher { + mock := &MockPublisher{ctrl: ctrl} + mock.recorder = &MockPublisherMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockPublisher) EXPECT() *MockPublisherMockRecorder { + return m.recorder +} + +// Close mocks base method. +func (m *MockPublisher) Close() error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Close") + ret0, _ := ret[0].(error) + return ret0 +} + +// Close indicates an expected call of Close. +func (mr *MockPublisherMockRecorder) Close() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockPublisher)(nil).Close)) +} + +// Publish mocks base method. +func (m *MockPublisher) Publish(ctx context.Context, topic string, message queue.Message) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Publish", ctx, topic, message) + ret0, _ := ret[0].(error) + return ret0 +} + +// Publish indicates an expected call of Publish. +func (mr *MockPublisherMockRecorder) Publish(ctx, topic, message any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Publish", reflect.TypeOf((*MockPublisher)(nil).Publish), ctx, topic, message) +} diff --git a/extension/queue/mock/queue_mock.go b/extension/queue/mock/queue_mock.go new file mode 100644 index 00000000..17915a4a --- /dev/null +++ b/extension/queue/mock/queue_mock.go @@ -0,0 +1,83 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: queue.go +// +// Generated by this command: +// +// mockgen -source=queue.go -destination=mock/queue_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + reflect "reflect" + + queue "github.com/uber/submitqueue/extension/queue" + gomock "go.uber.org/mock/gomock" +) + +// MockQueue is a mock of Queue interface. +type MockQueue struct { + ctrl *gomock.Controller + recorder *MockQueueMockRecorder + isgomock struct{} +} + +// MockQueueMockRecorder is the mock recorder for MockQueue. +type MockQueueMockRecorder struct { + mock *MockQueue +} + +// NewMockQueue creates a new mock instance. +func NewMockQueue(ctrl *gomock.Controller) *MockQueue { + mock := &MockQueue{ctrl: ctrl} + mock.recorder = &MockQueueMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockQueue) EXPECT() *MockQueueMockRecorder { + return m.recorder +} + +// Close mocks base method. +func (m *MockQueue) Close() error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Close") + ret0, _ := ret[0].(error) + return ret0 +} + +// Close indicates an expected call of Close. +func (mr *MockQueueMockRecorder) Close() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockQueue)(nil).Close)) +} + +// Publisher mocks base method. +func (m *MockQueue) Publisher() queue.Publisher { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Publisher") + ret0, _ := ret[0].(queue.Publisher) + return ret0 +} + +// Publisher indicates an expected call of Publisher. +func (mr *MockQueueMockRecorder) Publisher() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Publisher", reflect.TypeOf((*MockQueue)(nil).Publisher)) +} + +// Subscriber mocks base method. +func (m *MockQueue) Subscriber() queue.Subscriber { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Subscriber") + ret0, _ := ret[0].(queue.Subscriber) + return ret0 +} + +// Subscriber indicates an expected call of Subscriber. +func (mr *MockQueueMockRecorder) Subscriber() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Subscriber", reflect.TypeOf((*MockQueue)(nil).Subscriber)) +} diff --git a/extension/queue/mock/subscriber_mock.go b/extension/queue/mock/subscriber_mock.go new file mode 100644 index 00000000..88ccf907 --- /dev/null +++ b/extension/queue/mock/subscriber_mock.go @@ -0,0 +1,71 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: subscriber.go +// +// Generated by this command: +// +// mockgen -source=subscriber.go -destination=mock/subscriber_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + queue "github.com/uber/submitqueue/extension/queue" + gomock "go.uber.org/mock/gomock" +) + +// MockSubscriber is a mock of Subscriber interface. +type MockSubscriber struct { + ctrl *gomock.Controller + recorder *MockSubscriberMockRecorder + isgomock struct{} +} + +// MockSubscriberMockRecorder is the mock recorder for MockSubscriber. +type MockSubscriberMockRecorder struct { + mock *MockSubscriber +} + +// NewMockSubscriber creates a new mock instance. +func NewMockSubscriber(ctrl *gomock.Controller) *MockSubscriber { + mock := &MockSubscriber{ctrl: ctrl} + mock.recorder = &MockSubscriberMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSubscriber) EXPECT() *MockSubscriberMockRecorder { + return m.recorder +} + +// Close mocks base method. +func (m *MockSubscriber) Close() error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Close") + ret0, _ := ret[0].(error) + return ret0 +} + +// Close indicates an expected call of Close. +func (mr *MockSubscriberMockRecorder) Close() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockSubscriber)(nil).Close)) +} + +// Subscribe mocks base method. +func (m *MockSubscriber) Subscribe(ctx context.Context, topic string, config queue.SubscriptionConfig) (<-chan queue.Delivery, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Subscribe", ctx, topic, config) + ret0, _ := ret[0].(<-chan queue.Delivery) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Subscribe indicates an expected call of Subscribe. +func (mr *MockSubscriberMockRecorder) Subscribe(ctx, topic, config any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Subscribe", reflect.TypeOf((*MockSubscriber)(nil).Subscribe), ctx, topic, config) +} diff --git a/extension/queue/mysql/BUILD.bazel b/extension/queue/mysql/BUILD.bazel index 9cd728f6..bc33cf49 100644 --- a/extension/queue/mysql/BUILD.bazel +++ b/extension/queue/mysql/BUILD.bazel @@ -1,19 +1,5 @@ -load("@rules_go//extras:gomock.bzl", "gomock") load("@rules_go//go:def.bzl", "go_library", "go_test") -_MOCKGEN = "@org_uber_go_mock//mockgen" - -gomock( - name = "mock_stores_src", - out = "mock_stores.go", - mockgen_tool = _MOCKGEN, - package = "mysql", - self_package = "github.com/uber/submitqueue/extension/queue/mysql", - source = "stores.go", - source_importpath = "github.com/uber/submitqueue/extension/queue/mysql", -) - -# gazelle:ignore go_library( name = "mysql", srcs = [ @@ -21,7 +7,7 @@ go_library( "delivery_state_store.go", "errors.go", "message_store.go", - ":mock_stores_src", + "mock_stores.go", "offset_store.go", "partition_lease_store.go", "publisher.go", diff --git a/extension/queue/publisher.go b/extension/queue/publisher.go index 1ebeadc6..ee082a69 100644 --- a/extension/queue/publisher.go +++ b/extension/queue/publisher.go @@ -14,7 +14,7 @@ package queue -//go:generate mockgen -source=publisher.go -destination=mock/publisher.go -package=mock +//go:generate mockgen -source=publisher.go -destination=mock/publisher_mock.go -package=mock import ( "context" diff --git a/extension/queue/queue.go b/extension/queue/queue.go index 8622c422..e03eb29d 100644 --- a/extension/queue/queue.go +++ b/extension/queue/queue.go @@ -14,7 +14,7 @@ package queue -//go:generate mockgen -source=queue.go -destination=mock/queue.go -package=mock +//go:generate mockgen -source=queue.go -destination=mock/queue_mock.go -package=mock // Queue creates and manages queue publishers and subscribers. // Implementations handle connection pooling, consumer group configuration, diff --git a/extension/queue/subscriber.go b/extension/queue/subscriber.go index 29137df6..d629d127 100644 --- a/extension/queue/subscriber.go +++ b/extension/queue/subscriber.go @@ -14,7 +14,7 @@ package queue -//go:generate mockgen -source=subscriber.go -destination=mock/subscriber.go -package=mock +//go:generate mockgen -source=subscriber.go -destination=mock/subscriber_mock.go -package=mock import ( "context" diff --git a/extension/scorer/BUILD.bazel b/extension/scorer/BUILD.bazel index e52e8eff..f5da4bad 100644 --- a/extension/scorer/BUILD.bazel +++ b/extension/scorer/BUILD.bazel @@ -1,10 +1,5 @@ load("@rules_go//go:def.bzl", "go_library") -exports_files( - ["scorer.go"], - visibility = ["//extension/scorer/mock:__pkg__"], -) - go_library( name = "scorer", srcs = ["scorer.go"], diff --git a/extension/scorer/mock/BUILD.bazel b/extension/scorer/mock/BUILD.bazel index bc12de38..5ab88d71 100644 --- a/extension/scorer/mock/BUILD.bazel +++ b/extension/scorer/mock/BUILD.bazel @@ -1,28 +1,12 @@ -load("@rules_go//extras:gomock.bzl", "gomock") load("@rules_go//go:def.bzl", "go_library") -_MOCKGEN = "@org_uber_go_mock//mockgen" - -gomock( - name = "mock_scorer_src", - out = "scorer_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/scorer:scorer.go", - source_importpath = "github.com/uber/submitqueue/extension/scorer", -) - -# gazelle:ignore go_library( name = "mock", - srcs = [ - ":mock_scorer_src", - ], + srcs = ["scorer_mock.go"], importpath = "github.com/uber/submitqueue/extension/scorer/mock", visibility = ["//visibility:public"], deps = [ "//entity", - "//extension/scorer", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/scorer/mock/scorer_mock.go b/extension/scorer/mock/scorer_mock.go new file mode 100644 index 00000000..24eff58f --- /dev/null +++ b/extension/scorer/mock/scorer_mock.go @@ -0,0 +1,57 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: scorer.go +// +// Generated by this command: +// +// mockgen -source=scorer.go -destination=mock/scorer_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockScorer is a mock of Scorer interface. +type MockScorer struct { + ctrl *gomock.Controller + recorder *MockScorerMockRecorder + isgomock struct{} +} + +// MockScorerMockRecorder is the mock recorder for MockScorer. +type MockScorerMockRecorder struct { + mock *MockScorer +} + +// NewMockScorer creates a new mock instance. +func NewMockScorer(ctrl *gomock.Controller) *MockScorer { + mock := &MockScorer{ctrl: ctrl} + mock.recorder = &MockScorerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockScorer) EXPECT() *MockScorerMockRecorder { + return m.recorder +} + +// Score mocks base method. +func (m *MockScorer) Score(ctx context.Context, change entity.Change) (float64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Score", ctx, change) + ret0, _ := ret[0].(float64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Score indicates an expected call of Score. +func (mr *MockScorerMockRecorder) Score(ctx, change any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Score", reflect.TypeOf((*MockScorer)(nil).Score), ctx, change) +} diff --git a/extension/scorer/scorer.go b/extension/scorer/scorer.go index abfabc28..062003d3 100644 --- a/extension/scorer/scorer.go +++ b/extension/scorer/scorer.go @@ -14,7 +14,7 @@ package scorer -//go:generate mockgen -source=scorer.go -destination=mock/scorer.go -package=mock +//go:generate mockgen -source=scorer.go -destination=mock/scorer_mock.go -package=mock import ( "context" diff --git a/extension/storage/BUILD.bazel b/extension/storage/BUILD.bazel index 3bcbff1f..85e4f7b9 100644 --- a/extension/storage/BUILD.bazel +++ b/extension/storage/BUILD.bazel @@ -1,19 +1,5 @@ load("@rules_go//go:def.bzl", "go_library") -exports_files( - [ - "batch_dependent_store.go", - "batch_store.go", - "build_store.go", - "change_provider_store.go", - "request_log_store.go", - "request_store.go", - "speculation_tree_store.go", - "storage.go", - ], - visibility = ["//extension/storage/mock:__pkg__"], -) - go_library( name = "storage", srcs = [ diff --git a/extension/storage/batch_dependent_store.go b/extension/storage/batch_dependent_store.go index 9fc49263..4c062f96 100644 --- a/extension/storage/batch_dependent_store.go +++ b/extension/storage/batch_dependent_store.go @@ -14,7 +14,7 @@ package storage -//go:generate mockgen -source=batch_dependent_store.go -destination=mock/batch_dependent_store.go -package=mock +//go:generate mockgen -source=batch_dependent_store.go -destination=mock/batch_dependent_store_mock.go -package=mock import ( "context" diff --git a/extension/storage/batch_store.go b/extension/storage/batch_store.go index 40d3a01c..92e65b1a 100644 --- a/extension/storage/batch_store.go +++ b/extension/storage/batch_store.go @@ -14,7 +14,7 @@ package storage -//go:generate mockgen -source=batch_store.go -destination=mock/batch_store.go -package=mock +//go:generate mockgen -source=batch_store.go -destination=mock/batch_store_mock.go -package=mock import ( "context" diff --git a/extension/storage/build_store.go b/extension/storage/build_store.go index 5268402f..7e32178b 100644 --- a/extension/storage/build_store.go +++ b/extension/storage/build_store.go @@ -14,7 +14,7 @@ package storage -//go:generate mockgen -source=build_store.go -destination=mock/build_store.go -package=mock +//go:generate mockgen -source=build_store.go -destination=mock/build_store_mock.go -package=mock import ( "context" diff --git a/extension/storage/change_provider_store.go b/extension/storage/change_provider_store.go index fedf8ad2..de9caf6e 100644 --- a/extension/storage/change_provider_store.go +++ b/extension/storage/change_provider_store.go @@ -14,7 +14,7 @@ package storage -//go:generate mockgen -source=change_provider_store.go -destination=mock/change_provider_store.go -package=mock +//go:generate mockgen -source=change_provider_store.go -destination=mock/change_provider_store_mock.go -package=mock import ( "context" diff --git a/extension/storage/mock/BUILD.bazel b/extension/storage/mock/BUILD.bazel index d3ebd886..9515b56c 100644 --- a/extension/storage/mock/BUILD.bazel +++ b/extension/storage/mock/BUILD.bazel @@ -1,92 +1,16 @@ -load("@rules_go//extras:gomock.bzl", "gomock") load("@rules_go//go:def.bzl", "go_library") -_MOCKGEN = "@org_uber_go_mock//mockgen" - -gomock( - name = "mock_storage_src", - out = "storage_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:storage.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", -) - -gomock( - name = "mock_request_store_src", - out = "request_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:request_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", -) - -gomock( - name = "mock_change_provider_store_src", - out = "change_provider_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:change_provider_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", -) - -gomock( - name = "mock_batch_store_src", - out = "batch_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:batch_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", -) - -gomock( - name = "mock_batch_dependent_store_src", - out = "batch_dependent_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:batch_dependent_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", -) - -gomock( - name = "mock_build_store_src", - out = "build_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:build_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", -) - -gomock( - name = "mock_speculation_tree_store_src", - out = "speculation_tree_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:speculation_tree_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", -) - -gomock( - name = "mock_request_log_store_src", - out = "request_log_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:request_log_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", -) - -# gazelle:ignore go_library( name = "mock", srcs = [ - ":mock_batch_dependent_store_src", - ":mock_batch_store_src", - ":mock_build_store_src", - ":mock_change_provider_store_src", - ":mock_request_log_store_src", - ":mock_request_store_src", - ":mock_speculation_tree_store_src", - ":mock_storage_src", + "batch_dependent_store_mock.go", + "batch_store_mock.go", + "build_store_mock.go", + "change_provider_store_mock.go", + "request_log_store_mock.go", + "request_store_mock.go", + "speculation_tree_store_mock.go", + "storage_mock.go", ], importpath = "github.com/uber/submitqueue/extension/storage/mock", visibility = ["//visibility:public"], diff --git a/extension/storage/mock/README.md b/extension/storage/mock/README.md index 61cf53df..ae9efbcd 100644 --- a/extension/storage/mock/README.md +++ b/extension/storage/mock/README.md @@ -2,7 +2,7 @@ Generated mocks for all `extension/storage` interfaces using [gomock](https://github.com/uber-go/mock). -Mocks are **not checked in** — they are generated at build time by the Bazel `gomock` rule. +Mocks are **checked in** and generated by the `mockgen` CLI tool. Run `make mocks` to regenerate all mocks after modifying an interface. ## Adding a new store interface @@ -10,33 +10,11 @@ When a new store interface file is added to `extension/storage/`: 1. Add a `//go:generate` directive to the new file: ```go - //go:generate mockgen -source=new_store.go -destination=mock/new_store.go -package=mock + //go:generate mockgen -source=new_store.go -destination=mock/new_store_mock.go -package=mock ``` -2. Add the file to `exports_files` in `extension/storage/BUILD.bazel`. - -3. Add a new `gomock` rule in `extension/storage/mock/BUILD.bazel`: - ```starlark - gomock( - name = "mock_new_store_src", - out = "new_store_mock.go", - mockgen_tool = _MOCKGEN, - package = "mock", - source = "//extension/storage:new_store.go", - source_importpath = "github.com/uber/submitqueue/extension/storage", - ) - ``` +2. Run `make mocks` to generate the mock file. -4. Add the new rule target to the `go_library` srcs in the same file: - ```starlark - go_library( - name = "mock", - srcs = [ - ... - ":mock_new_store_src", - ], - ... - ) - ``` +3. Run `make gazelle` to update `BUILD.bazel` files. -> **Note:** This BUILD.bazel uses `# gazelle:ignore`, so gazelle will not update it automatically. +4. Commit the generated mock file. diff --git a/extension/storage/mock/batch_dependent_store_mock.go b/extension/storage/mock/batch_dependent_store_mock.go new file mode 100644 index 00000000..06269fc9 --- /dev/null +++ b/extension/storage/mock/batch_dependent_store_mock.go @@ -0,0 +1,85 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: batch_dependent_store.go +// +// Generated by this command: +// +// mockgen -source=batch_dependent_store.go -destination=mock/batch_dependent_store_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockBatchDependentStore is a mock of BatchDependentStore interface. +type MockBatchDependentStore struct { + ctrl *gomock.Controller + recorder *MockBatchDependentStoreMockRecorder + isgomock struct{} +} + +// MockBatchDependentStoreMockRecorder is the mock recorder for MockBatchDependentStore. +type MockBatchDependentStoreMockRecorder struct { + mock *MockBatchDependentStore +} + +// NewMockBatchDependentStore creates a new mock instance. +func NewMockBatchDependentStore(ctrl *gomock.Controller) *MockBatchDependentStore { + mock := &MockBatchDependentStore{ctrl: ctrl} + mock.recorder = &MockBatchDependentStoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockBatchDependentStore) EXPECT() *MockBatchDependentStoreMockRecorder { + return m.recorder +} + +// Create mocks base method. +func (m *MockBatchDependentStore) Create(ctx context.Context, batchDependent entity.BatchDependent) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Create", ctx, batchDependent) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockBatchDependentStoreMockRecorder) Create(ctx, batchDependent any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockBatchDependentStore)(nil).Create), ctx, batchDependent) +} + +// Get mocks base method. +func (m *MockBatchDependentStore) Get(ctx context.Context, batchID string) (entity.BatchDependent, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", ctx, batchID) + ret0, _ := ret[0].(entity.BatchDependent) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockBatchDependentStoreMockRecorder) Get(ctx, batchID any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockBatchDependentStore)(nil).Get), ctx, batchID) +} + +// UpdateDependents mocks base method. +func (m *MockBatchDependentStore) UpdateDependents(ctx context.Context, batchID string, version int32, dependents []string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateDependents", ctx, batchID, version, dependents) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateDependents indicates an expected call of UpdateDependents. +func (mr *MockBatchDependentStoreMockRecorder) UpdateDependents(ctx, batchID, version, dependents any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDependents", reflect.TypeOf((*MockBatchDependentStore)(nil).UpdateDependents), ctx, batchID, version, dependents) +} diff --git a/extension/storage/mock/batch_store_mock.go b/extension/storage/mock/batch_store_mock.go new file mode 100644 index 00000000..f026713f --- /dev/null +++ b/extension/storage/mock/batch_store_mock.go @@ -0,0 +1,100 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: batch_store.go +// +// Generated by this command: +// +// mockgen -source=batch_store.go -destination=mock/batch_store_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockBatchStore is a mock of BatchStore interface. +type MockBatchStore struct { + ctrl *gomock.Controller + recorder *MockBatchStoreMockRecorder + isgomock struct{} +} + +// MockBatchStoreMockRecorder is the mock recorder for MockBatchStore. +type MockBatchStoreMockRecorder struct { + mock *MockBatchStore +} + +// NewMockBatchStore creates a new mock instance. +func NewMockBatchStore(ctrl *gomock.Controller) *MockBatchStore { + mock := &MockBatchStore{ctrl: ctrl} + mock.recorder = &MockBatchStoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockBatchStore) EXPECT() *MockBatchStoreMockRecorder { + return m.recorder +} + +// Create mocks base method. +func (m *MockBatchStore) Create(ctx context.Context, batch entity.Batch) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Create", ctx, batch) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockBatchStoreMockRecorder) Create(ctx, batch any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockBatchStore)(nil).Create), ctx, batch) +} + +// Get mocks base method. +func (m *MockBatchStore) Get(ctx context.Context, id string) (entity.Batch, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", ctx, id) + ret0, _ := ret[0].(entity.Batch) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockBatchStoreMockRecorder) Get(ctx, id any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockBatchStore)(nil).Get), ctx, id) +} + +// GetByQueueAndStates mocks base method. +func (m *MockBatchStore) GetByQueueAndStates(ctx context.Context, queue string, states []entity.BatchState) ([]entity.Batch, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetByQueueAndStates", ctx, queue, states) + ret0, _ := ret[0].([]entity.Batch) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetByQueueAndStates indicates an expected call of GetByQueueAndStates. +func (mr *MockBatchStoreMockRecorder) GetByQueueAndStates(ctx, queue, states any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByQueueAndStates", reflect.TypeOf((*MockBatchStore)(nil).GetByQueueAndStates), ctx, queue, states) +} + +// UpdateState mocks base method. +func (m *MockBatchStore) UpdateState(ctx context.Context, id string, version int32, newState entity.BatchState) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateState", ctx, id, version, newState) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateState indicates an expected call of UpdateState. +func (mr *MockBatchStoreMockRecorder) UpdateState(ctx, id, version, newState any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateState", reflect.TypeOf((*MockBatchStore)(nil).UpdateState), ctx, id, version, newState) +} diff --git a/extension/storage/mock/build_store_mock.go b/extension/storage/mock/build_store_mock.go new file mode 100644 index 00000000..79fb1d73 --- /dev/null +++ b/extension/storage/mock/build_store_mock.go @@ -0,0 +1,85 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: build_store.go +// +// Generated by this command: +// +// mockgen -source=build_store.go -destination=mock/build_store_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockBuildStore is a mock of BuildStore interface. +type MockBuildStore struct { + ctrl *gomock.Controller + recorder *MockBuildStoreMockRecorder + isgomock struct{} +} + +// MockBuildStoreMockRecorder is the mock recorder for MockBuildStore. +type MockBuildStoreMockRecorder struct { + mock *MockBuildStore +} + +// NewMockBuildStore creates a new mock instance. +func NewMockBuildStore(ctrl *gomock.Controller) *MockBuildStore { + mock := &MockBuildStore{ctrl: ctrl} + mock.recorder = &MockBuildStoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockBuildStore) EXPECT() *MockBuildStoreMockRecorder { + return m.recorder +} + +// Create mocks base method. +func (m *MockBuildStore) Create(ctx context.Context, build entity.Build) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Create", ctx, build) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockBuildStoreMockRecorder) Create(ctx, build any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockBuildStore)(nil).Create), ctx, build) +} + +// Get mocks base method. +func (m *MockBuildStore) Get(ctx context.Context, id string) (entity.Build, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", ctx, id) + ret0, _ := ret[0].(entity.Build) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockBuildStoreMockRecorder) Get(ctx, id any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockBuildStore)(nil).Get), ctx, id) +} + +// UpdateStatus mocks base method. +func (m *MockBuildStore) UpdateStatus(ctx context.Context, id string, newStatus entity.BuildStatus) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateStatus", ctx, id, newStatus) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateStatus indicates an expected call of UpdateStatus. +func (mr *MockBuildStoreMockRecorder) UpdateStatus(ctx, id, newStatus any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStatus", reflect.TypeOf((*MockBuildStore)(nil).UpdateStatus), ctx, id, newStatus) +} diff --git a/extension/storage/mock/change_provider_store_mock.go b/extension/storage/mock/change_provider_store_mock.go new file mode 100644 index 00000000..1a096a88 --- /dev/null +++ b/extension/storage/mock/change_provider_store_mock.go @@ -0,0 +1,71 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: change_provider_store.go +// +// Generated by this command: +// +// mockgen -source=change_provider_store.go -destination=mock/change_provider_store_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockChangeProviderStore is a mock of ChangeProviderStore interface. +type MockChangeProviderStore struct { + ctrl *gomock.Controller + recorder *MockChangeProviderStoreMockRecorder + isgomock struct{} +} + +// MockChangeProviderStoreMockRecorder is the mock recorder for MockChangeProviderStore. +type MockChangeProviderStoreMockRecorder struct { + mock *MockChangeProviderStore +} + +// NewMockChangeProviderStore creates a new mock instance. +func NewMockChangeProviderStore(ctrl *gomock.Controller) *MockChangeProviderStore { + mock := &MockChangeProviderStore{ctrl: ctrl} + mock.recorder = &MockChangeProviderStoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockChangeProviderStore) EXPECT() *MockChangeProviderStoreMockRecorder { + return m.recorder +} + +// Create mocks base method. +func (m *MockChangeProviderStore) Create(ctx context.Context, changeProvider entity.ChangeProvider) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Create", ctx, changeProvider) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockChangeProviderStoreMockRecorder) Create(ctx, changeProvider any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockChangeProviderStore)(nil).Create), ctx, changeProvider) +} + +// Get mocks base method. +func (m *MockChangeProviderStore) Get(ctx context.Context, requestID string) ([]entity.ChangeProvider, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", ctx, requestID) + ret0, _ := ret[0].([]entity.ChangeProvider) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockChangeProviderStoreMockRecorder) Get(ctx, requestID any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockChangeProviderStore)(nil).Get), ctx, requestID) +} diff --git a/extension/storage/mock/request_log_store_mock.go b/extension/storage/mock/request_log_store_mock.go new file mode 100644 index 00000000..593a241a --- /dev/null +++ b/extension/storage/mock/request_log_store_mock.go @@ -0,0 +1,71 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: request_log_store.go +// +// Generated by this command: +// +// mockgen -source=request_log_store.go -destination=mock/request_log_store_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockRequestLogStore is a mock of RequestLogStore interface. +type MockRequestLogStore struct { + ctrl *gomock.Controller + recorder *MockRequestLogStoreMockRecorder + isgomock struct{} +} + +// MockRequestLogStoreMockRecorder is the mock recorder for MockRequestLogStore. +type MockRequestLogStoreMockRecorder struct { + mock *MockRequestLogStore +} + +// NewMockRequestLogStore creates a new mock instance. +func NewMockRequestLogStore(ctrl *gomock.Controller) *MockRequestLogStore { + mock := &MockRequestLogStore{ctrl: ctrl} + mock.recorder = &MockRequestLogStoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRequestLogStore) EXPECT() *MockRequestLogStoreMockRecorder { + return m.recorder +} + +// Insert mocks base method. +func (m *MockRequestLogStore) Insert(ctx context.Context, log entity.RequestLog) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Insert", ctx, log) + ret0, _ := ret[0].(error) + return ret0 +} + +// Insert indicates an expected call of Insert. +func (mr *MockRequestLogStoreMockRecorder) Insert(ctx, log any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockRequestLogStore)(nil).Insert), ctx, log) +} + +// List mocks base method. +func (m *MockRequestLogStore) List(ctx context.Context, requestID string) ([]entity.RequestLog, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "List", ctx, requestID) + ret0, _ := ret[0].([]entity.RequestLog) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// List indicates an expected call of List. +func (mr *MockRequestLogStoreMockRecorder) List(ctx, requestID any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockRequestLogStore)(nil).List), ctx, requestID) +} diff --git a/extension/storage/mock/request_store_mock.go b/extension/storage/mock/request_store_mock.go new file mode 100644 index 00000000..7ee16efe --- /dev/null +++ b/extension/storage/mock/request_store_mock.go @@ -0,0 +1,85 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: request_store.go +// +// Generated by this command: +// +// mockgen -source=request_store.go -destination=mock/request_store_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockRequestStore is a mock of RequestStore interface. +type MockRequestStore struct { + ctrl *gomock.Controller + recorder *MockRequestStoreMockRecorder + isgomock struct{} +} + +// MockRequestStoreMockRecorder is the mock recorder for MockRequestStore. +type MockRequestStoreMockRecorder struct { + mock *MockRequestStore +} + +// NewMockRequestStore creates a new mock instance. +func NewMockRequestStore(ctrl *gomock.Controller) *MockRequestStore { + mock := &MockRequestStore{ctrl: ctrl} + mock.recorder = &MockRequestStoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockRequestStore) EXPECT() *MockRequestStoreMockRecorder { + return m.recorder +} + +// Create mocks base method. +func (m *MockRequestStore) Create(ctx context.Context, request entity.Request) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Create", ctx, request) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockRequestStoreMockRecorder) Create(ctx, request any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockRequestStore)(nil).Create), ctx, request) +} + +// Get mocks base method. +func (m *MockRequestStore) Get(ctx context.Context, id string) (entity.Request, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", ctx, id) + ret0, _ := ret[0].(entity.Request) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockRequestStoreMockRecorder) Get(ctx, id any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockRequestStore)(nil).Get), ctx, id) +} + +// UpdateState mocks base method. +func (m *MockRequestStore) UpdateState(ctx context.Context, id string, version int32, newState entity.RequestState) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateState", ctx, id, version, newState) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateState indicates an expected call of UpdateState. +func (mr *MockRequestStoreMockRecorder) UpdateState(ctx, id, version, newState any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateState", reflect.TypeOf((*MockRequestStore)(nil).UpdateState), ctx, id, version, newState) +} diff --git a/extension/storage/mock/speculation_tree_store_mock.go b/extension/storage/mock/speculation_tree_store_mock.go new file mode 100644 index 00000000..a4aa52a5 --- /dev/null +++ b/extension/storage/mock/speculation_tree_store_mock.go @@ -0,0 +1,85 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: speculation_tree_store.go +// +// Generated by this command: +// +// mockgen -source=speculation_tree_store.go -destination=mock/speculation_tree_store_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + context "context" + reflect "reflect" + + entity "github.com/uber/submitqueue/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockSpeculationTreeStore is a mock of SpeculationTreeStore interface. +type MockSpeculationTreeStore struct { + ctrl *gomock.Controller + recorder *MockSpeculationTreeStoreMockRecorder + isgomock struct{} +} + +// MockSpeculationTreeStoreMockRecorder is the mock recorder for MockSpeculationTreeStore. +type MockSpeculationTreeStoreMockRecorder struct { + mock *MockSpeculationTreeStore +} + +// NewMockSpeculationTreeStore creates a new mock instance. +func NewMockSpeculationTreeStore(ctrl *gomock.Controller) *MockSpeculationTreeStore { + mock := &MockSpeculationTreeStore{ctrl: ctrl} + mock.recorder = &MockSpeculationTreeStoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockSpeculationTreeStore) EXPECT() *MockSpeculationTreeStoreMockRecorder { + return m.recorder +} + +// Create mocks base method. +func (m *MockSpeculationTreeStore) Create(ctx context.Context, speculationTree entity.SpeculationTree) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Create", ctx, speculationTree) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockSpeculationTreeStoreMockRecorder) Create(ctx, speculationTree any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockSpeculationTreeStore)(nil).Create), ctx, speculationTree) +} + +// Get mocks base method. +func (m *MockSpeculationTreeStore) Get(ctx context.Context, batchID string) (entity.SpeculationTree, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", ctx, batchID) + ret0, _ := ret[0].(entity.SpeculationTree) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockSpeculationTreeStoreMockRecorder) Get(ctx, batchID any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockSpeculationTreeStore)(nil).Get), ctx, batchID) +} + +// UpdateSpeculations mocks base method. +func (m *MockSpeculationTreeStore) UpdateSpeculations(ctx context.Context, batchID string, speculations []entity.SpeculationInfo) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateSpeculations", ctx, batchID, speculations) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateSpeculations indicates an expected call of UpdateSpeculations. +func (mr *MockSpeculationTreeStoreMockRecorder) UpdateSpeculations(ctx, batchID, speculations any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSpeculations", reflect.TypeOf((*MockSpeculationTreeStore)(nil).UpdateSpeculations), ctx, batchID, speculations) +} diff --git a/extension/storage/mock/storage_mock.go b/extension/storage/mock/storage_mock.go new file mode 100644 index 00000000..c108689a --- /dev/null +++ b/extension/storage/mock/storage_mock.go @@ -0,0 +1,153 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: storage.go +// +// Generated by this command: +// +// mockgen -source=storage.go -destination=mock/storage_mock.go -package=mock +// + +// Package mock is a generated GoMock package. +package mock + +import ( + reflect "reflect" + + storage "github.com/uber/submitqueue/extension/storage" + gomock "go.uber.org/mock/gomock" +) + +// MockStorage is a mock of Storage interface. +type MockStorage struct { + ctrl *gomock.Controller + recorder *MockStorageMockRecorder + isgomock struct{} +} + +// MockStorageMockRecorder is the mock recorder for MockStorage. +type MockStorageMockRecorder struct { + mock *MockStorage +} + +// NewMockStorage creates a new mock instance. +func NewMockStorage(ctrl *gomock.Controller) *MockStorage { + mock := &MockStorage{ctrl: ctrl} + mock.recorder = &MockStorageMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockStorage) EXPECT() *MockStorageMockRecorder { + return m.recorder +} + +// Close mocks base method. +func (m *MockStorage) Close() error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Close") + ret0, _ := ret[0].(error) + return ret0 +} + +// Close indicates an expected call of Close. +func (mr *MockStorageMockRecorder) Close() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockStorage)(nil).Close)) +} + +// GetBatchDependentStore mocks base method. +func (m *MockStorage) GetBatchDependentStore() storage.BatchDependentStore { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetBatchDependentStore") + ret0, _ := ret[0].(storage.BatchDependentStore) + return ret0 +} + +// GetBatchDependentStore indicates an expected call of GetBatchDependentStore. +func (mr *MockStorageMockRecorder) GetBatchDependentStore() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBatchDependentStore", reflect.TypeOf((*MockStorage)(nil).GetBatchDependentStore)) +} + +// GetBatchStore mocks base method. +func (m *MockStorage) GetBatchStore() storage.BatchStore { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetBatchStore") + ret0, _ := ret[0].(storage.BatchStore) + return ret0 +} + +// GetBatchStore indicates an expected call of GetBatchStore. +func (mr *MockStorageMockRecorder) GetBatchStore() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBatchStore", reflect.TypeOf((*MockStorage)(nil).GetBatchStore)) +} + +// GetBuildStore mocks base method. +func (m *MockStorage) GetBuildStore() storage.BuildStore { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetBuildStore") + ret0, _ := ret[0].(storage.BuildStore) + return ret0 +} + +// GetBuildStore indicates an expected call of GetBuildStore. +func (mr *MockStorageMockRecorder) GetBuildStore() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBuildStore", reflect.TypeOf((*MockStorage)(nil).GetBuildStore)) +} + +// GetChangeProviderStore mocks base method. +func (m *MockStorage) GetChangeProviderStore() storage.ChangeProviderStore { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetChangeProviderStore") + ret0, _ := ret[0].(storage.ChangeProviderStore) + return ret0 +} + +// GetChangeProviderStore indicates an expected call of GetChangeProviderStore. +func (mr *MockStorageMockRecorder) GetChangeProviderStore() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChangeProviderStore", reflect.TypeOf((*MockStorage)(nil).GetChangeProviderStore)) +} + +// GetRequestLogStore mocks base method. +func (m *MockStorage) GetRequestLogStore() storage.RequestLogStore { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRequestLogStore") + ret0, _ := ret[0].(storage.RequestLogStore) + return ret0 +} + +// GetRequestLogStore indicates an expected call of GetRequestLogStore. +func (mr *MockStorageMockRecorder) GetRequestLogStore() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRequestLogStore", reflect.TypeOf((*MockStorage)(nil).GetRequestLogStore)) +} + +// GetRequestStore mocks base method. +func (m *MockStorage) GetRequestStore() storage.RequestStore { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetRequestStore") + ret0, _ := ret[0].(storage.RequestStore) + return ret0 +} + +// GetRequestStore indicates an expected call of GetRequestStore. +func (mr *MockStorageMockRecorder) GetRequestStore() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRequestStore", reflect.TypeOf((*MockStorage)(nil).GetRequestStore)) +} + +// GetSpeculationTreeStore mocks base method. +func (m *MockStorage) GetSpeculationTreeStore() storage.SpeculationTreeStore { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetSpeculationTreeStore") + ret0, _ := ret[0].(storage.SpeculationTreeStore) + return ret0 +} + +// GetSpeculationTreeStore indicates an expected call of GetSpeculationTreeStore. +func (mr *MockStorageMockRecorder) GetSpeculationTreeStore() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSpeculationTreeStore", reflect.TypeOf((*MockStorage)(nil).GetSpeculationTreeStore)) +} diff --git a/extension/storage/request_log_store.go b/extension/storage/request_log_store.go index ca889837..cf2dc40e 100644 --- a/extension/storage/request_log_store.go +++ b/extension/storage/request_log_store.go @@ -14,7 +14,7 @@ package storage -//go:generate mockgen -source=request_log_store.go -destination=mock/request_log_store.go -package=mock +//go:generate mockgen -source=request_log_store.go -destination=mock/request_log_store_mock.go -package=mock import ( "context" diff --git a/extension/storage/request_store.go b/extension/storage/request_store.go index 08833771..49a3a129 100644 --- a/extension/storage/request_store.go +++ b/extension/storage/request_store.go @@ -14,7 +14,7 @@ package storage -//go:generate mockgen -source=request_store.go -destination=mock/request_store.go -package=mock +//go:generate mockgen -source=request_store.go -destination=mock/request_store_mock.go -package=mock import ( "context" diff --git a/extension/storage/speculation_tree_store.go b/extension/storage/speculation_tree_store.go index a2db7805..a6c7e447 100644 --- a/extension/storage/speculation_tree_store.go +++ b/extension/storage/speculation_tree_store.go @@ -14,7 +14,7 @@ package storage -//go:generate mockgen -source=speculation_tree_store.go -destination=mock/speculation_tree_store.go -package=mock +//go:generate mockgen -source=speculation_tree_store.go -destination=mock/speculation_tree_store_mock.go -package=mock import ( "context" diff --git a/extension/storage/storage.go b/extension/storage/storage.go index 75bcb84a..1b84c4e5 100644 --- a/extension/storage/storage.go +++ b/extension/storage/storage.go @@ -14,7 +14,7 @@ package storage -//go:generate mockgen -source=storage.go -destination=mock/storage.go -package=mock +//go:generate mockgen -source=storage.go -destination=mock/storage_mock.go -package=mock import ( "errors"