From cb3b4d36146a3e14fc84e00d010b532249113d83 Mon Sep 17 00:00:00 2001 From: sergeyb Date: Tue, 10 Mar 2026 18:14:09 +0000 Subject: [PATCH] refactor(mocks): The Grand Mock Refactor Change test mocks architecture from build-time generation to source-controlled. A mockgen tool needs to be run to generate mock files and they are checked in. This allows traditional IDE tools like VSCode/Cursor/Goland to have a clean language understanding without using additional plugins. Source control storage overhead is minimal for microrepo. As an additional benefit, generated definition could be further trimmed to only actually used symbols to reduce the compilation time and artifact sizes. --- CLAUDE.md | 42 ++-- Makefile | 11 +- core/consumer/BUILD.bazel | 5 - core/consumer/mock/BUILD.bazel | 17 +- core/consumer/mock/controller_mock.go | 207 ++++++++++++++++++ extension/counter/BUILD.bazel | 5 - extension/counter/counter.go | 2 +- extension/counter/mock/BUILD.bazel | 22 +- extension/counter/mock/counter_mock.go | 56 +++++ extension/mergechecker/BUILD.bazel | 5 - extension/mergechecker/mock/BUILD.bazel | 17 +- .../mergechecker/mock/mergechecker_mock.go | 58 +++++ extension/queue/BUILD.bazel | 10 - extension/queue/delivery.go | 2 +- extension/queue/mock/BUILD.bazel | 48 +--- extension/queue/mock/delivery_mock.go | 168 ++++++++++++++ extension/queue/mock/publisher_mock.go | 70 ++++++ extension/queue/mock/queue_mock.go | 83 +++++++ extension/queue/mock/subscriber_mock.go | 71 ++++++ extension/queue/mysql/BUILD.bazel | 16 +- extension/queue/publisher.go | 2 +- extension/queue/queue.go | 2 +- extension/queue/subscriber.go | 2 +- extension/scorer/BUILD.bazel | 5 - extension/scorer/mock/BUILD.bazel | 18 +- extension/scorer/mock/scorer_mock.go | 57 +++++ extension/scorer/scorer.go | 2 +- extension/storage/BUILD.bazel | 14 -- extension/storage/batch_dependent_store.go | 2 +- extension/storage/batch_store.go | 2 +- extension/storage/build_store.go | 2 +- extension/storage/change_provider_store.go | 2 +- extension/storage/mock/BUILD.bazel | 92 +------- extension/storage/mock/README.md | 32 +-- .../mock/batch_dependent_store_mock.go | 85 +++++++ extension/storage/mock/batch_store_mock.go | 100 +++++++++ extension/storage/mock/build_store_mock.go | 85 +++++++ .../mock/change_provider_store_mock.go | 71 ++++++ .../storage/mock/request_log_store_mock.go | 71 ++++++ extension/storage/mock/request_store_mock.go | 85 +++++++ .../mock/speculation_tree_store_mock.go | 85 +++++++ extension/storage/mock/storage_mock.go | 153 +++++++++++++ extension/storage/request_log_store.go | 2 +- extension/storage/request_store.go | 2 +- extension/storage/speculation_tree_store.go | 2 +- extension/storage/storage.go | 2 +- 46 files changed, 1568 insertions(+), 324 deletions(-) create mode 100644 core/consumer/mock/controller_mock.go create mode 100644 extension/counter/mock/counter_mock.go create mode 100644 extension/mergechecker/mock/mergechecker_mock.go create mode 100644 extension/queue/mock/delivery_mock.go create mode 100644 extension/queue/mock/publisher_mock.go create mode 100644 extension/queue/mock/queue_mock.go create mode 100644 extension/queue/mock/subscriber_mock.go create mode 100644 extension/scorer/mock/scorer_mock.go create mode 100644 extension/storage/mock/batch_dependent_store_mock.go create mode 100644 extension/storage/mock/batch_store_mock.go create mode 100644 extension/storage/mock/build_store_mock.go create mode 100644 extension/storage/mock/change_provider_store_mock.go create mode 100644 extension/storage/mock/request_log_store_mock.go create mode 100644 extension/storage/mock/request_store_mock.go create mode 100644 extension/storage/mock/speculation_tree_store_mock.go create mode 100644 extension/storage/mock/storage_mock.go 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"