diff --git a/CHANGELOG.md b/CHANGELOG.md index d278c433fc6..98b785d2373 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ - TODO ([#XXX](https://github.com/kedacore/keda/pull/XXX)) - ScaledJob: introduce MultipleScalersCalculation ([#2016](https://github.com/kedacore/keda/pull/2016)) - Add Graphite Scaler ([#1628](https://github.com/kedacore/keda/pull/2092)) +- Add Makefile mockgen targets ([#2090](https://github.com/kedacore/keda/issues/2090)) ### Improvements diff --git a/Makefile b/Makefile index 245cd74a592..51c13ca7507 100644 --- a/Makefile +++ b/Makefile @@ -86,7 +86,7 @@ manifests: controller-gen ## Generate ClusterRole and CustomResourceDefinition o # until this issue is fixed: https://github.com/kubernetes-sigs/controller-tools/issues/398 rm config/crd/bases/keda.sh_withtriggers.yaml -generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations (API). +generate: controller-gen mockgen-gen ## Generate code containing DeepCopy, DeepCopyInto, DeepCopyObject method implementations (API) and mocks. $(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..." adapter/generated/openapi/zz_generated.openapi.go: go.mod go.sum ## Generate OpenAPI for KEDA Metrics Adapter. @@ -123,8 +123,19 @@ clientset-generate: ## Generate client-go clientset, listers and informers. pkg/scalers/liiklus/LiiklusService.pb.go: hack/LiiklusService.proto protoc -I hack/ hack/LiiklusService.proto --go_out=plugins=grpc:pkg/scalers/liiklus +.PHONY: mockgen-gen +mockgen-gen: mockgen pkg/mock/mock_scaling/mock_interface.go pkg/mock/mock_scaler/mock_scaler.go pkg/mock/mock_scale/mock_interfaces.go pkg/mock/mock_client/mock_interfaces.go pkg/scalers/liiklus/mocks/mock_liiklus.go + +pkg/mock/mock_scaling/mock_interface.go: pkg/scaling/scale_handler.go + $(MOCKGEN) -destination=$@ -package=mock_scaling -source=$^ +pkg/mock/mock_scaler/mock_scaler.go: pkg/scalers/scaler.go + $(MOCKGEN) -destination=$@ -package=mock_scalers -source=$^ +pkg/mock/mock_scale/mock_interfaces.go: $(shell go list -f '{{ .Dir }}' -m k8s.io/client-go)/scale/interfaces.go + $(MOCKGEN) -destination=$@ -package=mock_scale -source=$^ +pkg/mock/mock_client/mock_interfaces.go: $(shell go list -f '{{ .Dir }}' -m sigs.k8s.io/controller-runtime)/pkg/client/interfaces.go + $(MOCKGEN) -destination=$@ -package=mock_client -source=$^ pkg/scalers/liiklus/mocks/mock_liiklus.go: pkg/scalers/liiklus/LiiklusService.pb.go - mockgen github.com/kedacore/keda/pkg/scalers/liiklus LiiklusServiceClient > pkg/scalers/liiklus/mocks/mock_liiklus.go + $(MOCKGEN) -destination=$@ github.com/kedacore/keda/v2/pkg/scalers/liiklus LiiklusServiceClient ################################################## # Build # @@ -212,6 +223,10 @@ ENVTEST = $(shell pwd)/bin/setup-envtest envtest: ## Download envtest-setup locally if necessary. $(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@latest) +MOCKGEN = $(shell pwd)/bin/mockgen +mockgen: ## Download mockgen locally if necessary. + $(call go-get-tool,$(ENVTEST),github.com/golang/mock/mockgen@v1.6.0) + # go-get-tool will 'go get' any package $2 and install it to $1. PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST)))) define go-get-tool diff --git a/go.mod b/go.mod index f62f64e2c08..8d7e63ca0c7 100644 --- a/go.mod +++ b/go.mod @@ -43,6 +43,7 @@ require ( google.golang.org/api v0.56.0 google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2 google.golang.org/grpc v1.40.0 + google.golang.org/protobuf v1.27.1 // indirect k8s.io/api v0.22.1 k8s.io/apimachinery v0.22.1 k8s.io/apiserver v0.22.1 diff --git a/pkg/mock/mock_client/mock_interfaces.go b/pkg/mock/mock_client/mock_interfaces.go index ab34aa4ac07..16e08888025 100644 --- a/pkg/mock/mock_client/mock_interfaces.go +++ b/pkg/mock/mock_client/mock_interfaces.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: /Users/zroubali/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.9.6/pkg/client/interfaces.go +// Source: /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.10.0/pkg/client/interfaces.go // Package mock_client is a generated GoMock package. package mock_client diff --git a/pkg/mock/mock_scale/mock_interfaces.go b/pkg/mock/mock_scale/mock_interfaces.go index b27445d219b..cdfe5255add 100644 --- a/pkg/mock/mock_scale/mock_interfaces.go +++ b/pkg/mock/mock_scale/mock_interfaces.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: /Users/zroubali/go/pkg/mod/k8s.io/client-go@v0.22.1/scale/interfaces.go +// Source: /go/pkg/mod/k8s.io/client-go@v0.22.1/scale/interfaces.go // Package mock_scale is a generated GoMock package. package mock_scale diff --git a/pkg/scalers/liiklus/mocks/mock_liiklus.go b/pkg/scalers/liiklus/mocks/mock_liiklus.go index 419805c668c..53173edd370 100644 --- a/pkg/scalers/liiklus/mocks/mock_liiklus.go +++ b/pkg/scalers/liiklus/mocks/mock_liiklus.go @@ -6,57 +6,58 @@ package mock_liiklus import ( context "context" + reflect "reflect" + gomock "github.com/golang/mock/gomock" - empty "github.com/golang/protobuf/ptypes/empty" liiklus "github.com/kedacore/keda/v2/pkg/scalers/liiklus" grpc "google.golang.org/grpc" - reflect "reflect" + emptypb "google.golang.org/protobuf/types/known/emptypb" ) -// MockLiiklusServiceClient is a mock of LiiklusServiceClient interface +// MockLiiklusServiceClient is a mock of LiiklusServiceClient interface. type MockLiiklusServiceClient struct { ctrl *gomock.Controller recorder *MockLiiklusServiceClientMockRecorder } -// MockLiiklusServiceClientMockRecorder is the mock recorder for MockLiiklusServiceClient +// MockLiiklusServiceClientMockRecorder is the mock recorder for MockLiiklusServiceClient. type MockLiiklusServiceClientMockRecorder struct { mock *MockLiiklusServiceClient } -// NewMockLiiklusServiceClient creates a new mock instance +// NewMockLiiklusServiceClient creates a new mock instance. func NewMockLiiklusServiceClient(ctrl *gomock.Controller) *MockLiiklusServiceClient { mock := &MockLiiklusServiceClient{ctrl: ctrl} mock.recorder = &MockLiiklusServiceClientMockRecorder{mock} return mock } -// EXPECT returns an object that allows the caller to indicate expected use +// EXPECT returns an object that allows the caller to indicate expected use. func (m *MockLiiklusServiceClient) EXPECT() *MockLiiklusServiceClientMockRecorder { return m.recorder } -// Ack mocks base method -func (m *MockLiiklusServiceClient) Ack(arg0 context.Context, arg1 *liiklus.AckRequest, arg2 ...grpc.CallOption) (*empty.Empty, error) { +// Ack mocks base method. +func (m *MockLiiklusServiceClient) Ack(arg0 context.Context, arg1 *liiklus.AckRequest, arg2 ...grpc.CallOption) (*emptypb.Empty, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "Ack", varargs...) - ret0, _ := ret[0].(*empty.Empty) + ret0, _ := ret[0].(*emptypb.Empty) ret1, _ := ret[1].(error) return ret0, ret1 } -// Ack indicates an expected call of Ack +// Ack indicates an expected call of Ack. func (mr *MockLiiklusServiceClientMockRecorder) Ack(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Ack", reflect.TypeOf((*MockLiiklusServiceClient)(nil).Ack), varargs...) } -// GetEndOffsets mocks base method +// GetEndOffsets mocks base method. func (m *MockLiiklusServiceClient) GetEndOffsets(arg0 context.Context, arg1 *liiklus.GetEndOffsetsRequest, arg2 ...grpc.CallOption) (*liiklus.GetEndOffsetsReply, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} @@ -69,14 +70,14 @@ func (m *MockLiiklusServiceClient) GetEndOffsets(arg0 context.Context, arg1 *lii return ret0, ret1 } -// GetEndOffsets indicates an expected call of GetEndOffsets +// GetEndOffsets indicates an expected call of GetEndOffsets. func (mr *MockLiiklusServiceClientMockRecorder) GetEndOffsets(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetEndOffsets", reflect.TypeOf((*MockLiiklusServiceClient)(nil).GetEndOffsets), varargs...) } -// GetOffsets mocks base method +// GetOffsets mocks base method. func (m *MockLiiklusServiceClient) GetOffsets(arg0 context.Context, arg1 *liiklus.GetOffsetsRequest, arg2 ...grpc.CallOption) (*liiklus.GetOffsetsReply, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} @@ -89,14 +90,14 @@ func (m *MockLiiklusServiceClient) GetOffsets(arg0 context.Context, arg1 *liiklu return ret0, ret1 } -// GetOffsets indicates an expected call of GetOffsets +// GetOffsets indicates an expected call of GetOffsets. func (mr *MockLiiklusServiceClientMockRecorder) GetOffsets(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOffsets", reflect.TypeOf((*MockLiiklusServiceClient)(nil).GetOffsets), varargs...) } -// Publish mocks base method +// Publish mocks base method. func (m *MockLiiklusServiceClient) Publish(arg0 context.Context, arg1 *liiklus.PublishRequest, arg2 ...grpc.CallOption) (*liiklus.PublishReply, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} @@ -109,14 +110,14 @@ func (m *MockLiiklusServiceClient) Publish(arg0 context.Context, arg1 *liiklus.P return ret0, ret1 } -// Publish indicates an expected call of Publish +// Publish indicates an expected call of Publish. func (mr *MockLiiklusServiceClientMockRecorder) Publish(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Publish", reflect.TypeOf((*MockLiiklusServiceClient)(nil).Publish), varargs...) } -// Receive mocks base method +// Receive mocks base method. func (m *MockLiiklusServiceClient) Receive(arg0 context.Context, arg1 *liiklus.ReceiveRequest, arg2 ...grpc.CallOption) (liiklus.LiiklusService_ReceiveClient, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} @@ -129,14 +130,14 @@ func (m *MockLiiklusServiceClient) Receive(arg0 context.Context, arg1 *liiklus.R return ret0, ret1 } -// Receive indicates an expected call of Receive +// Receive indicates an expected call of Receive. func (mr *MockLiiklusServiceClientMockRecorder) Receive(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Receive", reflect.TypeOf((*MockLiiklusServiceClient)(nil).Receive), varargs...) } -// Subscribe mocks base method +// Subscribe mocks base method. func (m *MockLiiklusServiceClient) Subscribe(arg0 context.Context, arg1 *liiklus.SubscribeRequest, arg2 ...grpc.CallOption) (liiklus.LiiklusService_SubscribeClient, error) { m.ctrl.T.Helper() varargs := []interface{}{arg0, arg1} @@ -149,7 +150,7 @@ func (m *MockLiiklusServiceClient) Subscribe(arg0 context.Context, arg1 *liiklus return ret0, ret1 } -// Subscribe indicates an expected call of Subscribe +// Subscribe indicates an expected call of Subscribe. func (mr *MockLiiklusServiceClientMockRecorder) Subscribe(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{arg0, arg1}, arg2...)