From c06b43a3ee708ddb9c0de13d4b16facc754fee03 Mon Sep 17 00:00:00 2001 From: Xabier Larrakoetxea Date: Fri, 2 May 2025 18:40:26 +0200 Subject: [PATCH] Migrate to mockery v3 Signed-off-by: Xabier Larrakoetxea --- .mockery.yml | 8 ++ docker/dev/Dockerfile | 2 +- internal/generate/generate.go | 2 - .../generate/generatemock/bash_executor.go | 56 ----------- internal/generate/generatemock/mocks.go | 93 +++++++++++++++++++ scripts/gogen.sh | 3 +- 6 files changed, 104 insertions(+), 60 deletions(-) create mode 100644 .mockery.yml delete mode 100644 internal/generate/generatemock/bash_executor.go create mode 100644 internal/generate/generatemock/mocks.go diff --git a/.mockery.yml b/.mockery.yml new file mode 100644 index 0000000..0b3a10e --- /dev/null +++ b/.mockery.yml @@ -0,0 +1,8 @@ +dir: '{{.InterfaceDir}}/{{.SrcPackageName}}mock' +filename: mocks.go +force-file-write: true +structname: '{{.InterfaceName}}' +pkgname: '{{.SrcPackageName}}mock' +template: testify +packages: + github.com/slok/kube-code-generator/internal/generate: {interfaces: {BashExecutor}} diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index 1e3e730..1e29fd6 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -1,7 +1,7 @@ FROM golang:1.24 ARG GOLANGCI_LINT_VERSION="1.64.8" -ARG MOCKERY_VERSION="2.53.3" +ARG MOCKERY_VERSION="3.2.5" ARG ostype=Linux RUN apt-get update && apt-get install -y \ diff --git a/internal/generate/generate.go b/internal/generate/generate.go index 134166c..94b152b 100644 --- a/internal/generate/generate.go +++ b/internal/generate/generate.go @@ -10,8 +10,6 @@ type BashExecutor interface { BashExec(ctx context.Context, bashCmd string) (string, error) } -//go:generate mockery --case underscore --output generatemock --outpkg generatemock --name BashExecutor - // StdBashExecutor is an standard bash executor. var StdBashExecutor = stdBashExecutor(false) diff --git a/internal/generate/generatemock/bash_executor.go b/internal/generate/generatemock/bash_executor.go deleted file mode 100644 index 3bc7288..0000000 --- a/internal/generate/generatemock/bash_executor.go +++ /dev/null @@ -1,56 +0,0 @@ -// Code generated by mockery v2.53.3. DO NOT EDIT. - -package generatemock - -import ( - context "context" - - mock "github.com/stretchr/testify/mock" -) - -// BashExecutor is an autogenerated mock type for the BashExecutor type -type BashExecutor struct { - mock.Mock -} - -// BashExec provides a mock function with given fields: ctx, bashCmd -func (_m *BashExecutor) BashExec(ctx context.Context, bashCmd string) (string, error) { - ret := _m.Called(ctx, bashCmd) - - if len(ret) == 0 { - panic("no return value specified for BashExec") - } - - var r0 string - var r1 error - if rf, ok := ret.Get(0).(func(context.Context, string) (string, error)); ok { - return rf(ctx, bashCmd) - } - if rf, ok := ret.Get(0).(func(context.Context, string) string); ok { - r0 = rf(ctx, bashCmd) - } else { - r0 = ret.Get(0).(string) - } - - if rf, ok := ret.Get(1).(func(context.Context, string) error); ok { - r1 = rf(ctx, bashCmd) - } else { - r1 = ret.Error(1) - } - - return r0, r1 -} - -// NewBashExecutor creates a new instance of BashExecutor. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. -// The first argument is typically a *testing.T value. -func NewBashExecutor(t interface { - mock.TestingT - Cleanup(func()) -}) *BashExecutor { - mock := &BashExecutor{} - mock.Mock.Test(t) - - t.Cleanup(func() { mock.AssertExpectations(t) }) - - return mock -} diff --git a/internal/generate/generatemock/mocks.go b/internal/generate/generatemock/mocks.go new file mode 100644 index 0000000..8a65c89 --- /dev/null +++ b/internal/generate/generatemock/mocks.go @@ -0,0 +1,93 @@ +// Code generated by mockery; DO NOT EDIT. +// github.com/vektra/mockery +// template: testify + +package generatemock + +import ( + "context" + + mock "github.com/stretchr/testify/mock" +) + +// NewBashExecutor creates a new instance of BashExecutor. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewBashExecutor(t interface { + mock.TestingT + Cleanup(func()) +}) *BashExecutor { + mock := &BashExecutor{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} + +// BashExecutor is an autogenerated mock type for the BashExecutor type +type BashExecutor struct { + mock.Mock +} + +type BashExecutor_Expecter struct { + mock *mock.Mock +} + +func (_m *BashExecutor) EXPECT() *BashExecutor_Expecter { + return &BashExecutor_Expecter{mock: &_m.Mock} +} + +// BashExec provides a mock function for the type BashExecutor +func (_mock *BashExecutor) BashExec(ctx context.Context, bashCmd string) (string, error) { + ret := _mock.Called(ctx, bashCmd) + + if len(ret) == 0 { + panic("no return value specified for BashExec") + } + + var r0 string + var r1 error + if returnFunc, ok := ret.Get(0).(func(context.Context, string) (string, error)); ok { + return returnFunc(ctx, bashCmd) + } + if returnFunc, ok := ret.Get(0).(func(context.Context, string) string); ok { + r0 = returnFunc(ctx, bashCmd) + } else { + r0 = ret.Get(0).(string) + } + if returnFunc, ok := ret.Get(1).(func(context.Context, string) error); ok { + r1 = returnFunc(ctx, bashCmd) + } else { + r1 = ret.Error(1) + } + return r0, r1 +} + +// BashExecutor_BashExec_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'BashExec' +type BashExecutor_BashExec_Call struct { + *mock.Call +} + +// BashExec is a helper method to define mock.On call +// - ctx +// - bashCmd +func (_e *BashExecutor_Expecter) BashExec(ctx interface{}, bashCmd interface{}) *BashExecutor_BashExec_Call { + return &BashExecutor_BashExec_Call{Call: _e.mock.On("BashExec", ctx, bashCmd)} +} + +func (_c *BashExecutor_BashExec_Call) Run(run func(ctx context.Context, bashCmd string)) *BashExecutor_BashExec_Call { + _c.Call.Run(func(args mock.Arguments) { + run(args[0].(context.Context), args[1].(string)) + }) + return _c +} + +func (_c *BashExecutor_BashExec_Call) Return(s string, err error) *BashExecutor_BashExec_Call { + _c.Call.Return(s, err) + return _c +} + +func (_c *BashExecutor_BashExec_Call) RunAndReturn(run func(ctx context.Context, bashCmd string) (string, error)) *BashExecutor_BashExec_Call { + _c.Call.Return(run) + return _c +} diff --git a/scripts/gogen.sh b/scripts/gogen.sh index 803ac8a..b758d6e 100755 --- a/scripts/gogen.sh +++ b/scripts/gogen.sh @@ -3,4 +3,5 @@ set -o errexit set -o nounset -go generate ./... \ No newline at end of file +go generate ./... +mockery