// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery
// template: testify

package backend

import (
	"context"

	secretmanager "cloud.google.com/go/secretmanager/apiv1"
	"cloud.google.com/go/secretmanager/apiv1/secretmanagerpb"
	"github.com/googleapis/gax-go/v2"
	mock "github.com/stretchr/testify/mock"
)

// NewMockSecretManagerClient creates a new instance of MockSecretManagerClient. 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 NewMockSecretManagerClient(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockSecretManagerClient {
	mock := &MockSecretManagerClient{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}

// MockSecretManagerClient is an autogenerated mock type for the SecretManagerClient type
type MockSecretManagerClient struct {
	mock.Mock
}

type MockSecretManagerClient_Expecter struct {
	mock *mock.Mock
}

func (_m *MockSecretManagerClient) EXPECT() *MockSecretManagerClient_Expecter {
	return &MockSecretManagerClient_Expecter{mock: &_m.Mock}
}

// AccessSecretVersion provides a mock function for the type MockSecretManagerClient
func (_mock *MockSecretManagerClient) AccessSecretVersion(context1 context.Context, accessSecretVersionRequest *secretmanagerpb.AccessSecretVersionRequest, callOptions ...gax.CallOption) (*secretmanagerpb.AccessSecretVersionResponse, error) {
	var tmpRet mock.Arguments
	if len(callOptions) > 0 {
		tmpRet = _mock.Called(context1, accessSecretVersionRequest, callOptions)
	} else {
		tmpRet = _mock.Called(context1, accessSecretVersionRequest)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for AccessSecretVersion")
	}

	var r0 *secretmanagerpb.AccessSecretVersionResponse
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.AccessSecretVersionRequest, ...gax.CallOption) (*secretmanagerpb.AccessSecretVersionResponse, error)); ok {
		return returnFunc(context1, accessSecretVersionRequest, callOptions...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.AccessSecretVersionRequest, ...gax.CallOption) *secretmanagerpb.AccessSecretVersionResponse); ok {
		r0 = returnFunc(context1, accessSecretVersionRequest, callOptions...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*secretmanagerpb.AccessSecretVersionResponse)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *secretmanagerpb.AccessSecretVersionRequest, ...gax.CallOption) error); ok {
		r1 = returnFunc(context1, accessSecretVersionRequest, callOptions...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// MockSecretManagerClient_AccessSecretVersion_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AccessSecretVersion'
type MockSecretManagerClient_AccessSecretVersion_Call struct {
	*mock.Call
}

// AccessSecretVersion is a helper method to define mock.On call
//   - context1
//   - accessSecretVersionRequest
//   - callOptions
func (_e *MockSecretManagerClient_Expecter) AccessSecretVersion(context1 interface{}, accessSecretVersionRequest interface{}, callOptions ...interface{}) *MockSecretManagerClient_AccessSecretVersion_Call {
	return &MockSecretManagerClient_AccessSecretVersion_Call{Call: _e.mock.On("AccessSecretVersion",
		append([]interface{}{context1, accessSecretVersionRequest}, callOptions...)...)}
}

func (_c *MockSecretManagerClient_AccessSecretVersion_Call) Run(run func(context1 context.Context, accessSecretVersionRequest *secretmanagerpb.AccessSecretVersionRequest, callOptions ...gax.CallOption)) *MockSecretManagerClient_AccessSecretVersion_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]gax.CallOption, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(gax.CallOption)
			}
		}
		run(args[0].(context.Context), args[1].(*secretmanagerpb.AccessSecretVersionRequest), variadicArgs...)
	})
	return _c
}

func (_c *MockSecretManagerClient_AccessSecretVersion_Call) Return(accessSecretVersionResponse *secretmanagerpb.AccessSecretVersionResponse, err error) *MockSecretManagerClient_AccessSecretVersion_Call {
	_c.Call.Return(accessSecretVersionResponse, err)
	return _c
}

func (_c *MockSecretManagerClient_AccessSecretVersion_Call) RunAndReturn(run func(context1 context.Context, accessSecretVersionRequest *secretmanagerpb.AccessSecretVersionRequest, callOptions ...gax.CallOption) (*secretmanagerpb.AccessSecretVersionResponse, error)) *MockSecretManagerClient_AccessSecretVersion_Call {
	_c.Call.Return(run)
	return _c
}

// AddSecretVersion provides a mock function for the type MockSecretManagerClient
func (_mock *MockSecretManagerClient) AddSecretVersion(context1 context.Context, addSecretVersionRequest *secretmanagerpb.AddSecretVersionRequest, callOptions ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
	var tmpRet mock.Arguments
	if len(callOptions) > 0 {
		tmpRet = _mock.Called(context1, addSecretVersionRequest, callOptions)
	} else {
		tmpRet = _mock.Called(context1, addSecretVersionRequest)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for AddSecretVersion")
	}

	var r0 *secretmanagerpb.SecretVersion
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.AddSecretVersionRequest, ...gax.CallOption) (*secretmanagerpb.SecretVersion, error)); ok {
		return returnFunc(context1, addSecretVersionRequest, callOptions...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.AddSecretVersionRequest, ...gax.CallOption) *secretmanagerpb.SecretVersion); ok {
		r0 = returnFunc(context1, addSecretVersionRequest, callOptions...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*secretmanagerpb.SecretVersion)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *secretmanagerpb.AddSecretVersionRequest, ...gax.CallOption) error); ok {
		r1 = returnFunc(context1, addSecretVersionRequest, callOptions...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// MockSecretManagerClient_AddSecretVersion_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AddSecretVersion'
type MockSecretManagerClient_AddSecretVersion_Call struct {
	*mock.Call
}

// AddSecretVersion is a helper method to define mock.On call
//   - context1
//   - addSecretVersionRequest
//   - callOptions
func (_e *MockSecretManagerClient_Expecter) AddSecretVersion(context1 interface{}, addSecretVersionRequest interface{}, callOptions ...interface{}) *MockSecretManagerClient_AddSecretVersion_Call {
	return &MockSecretManagerClient_AddSecretVersion_Call{Call: _e.mock.On("AddSecretVersion",
		append([]interface{}{context1, addSecretVersionRequest}, callOptions...)...)}
}

func (_c *MockSecretManagerClient_AddSecretVersion_Call) Run(run func(context1 context.Context, addSecretVersionRequest *secretmanagerpb.AddSecretVersionRequest, callOptions ...gax.CallOption)) *MockSecretManagerClient_AddSecretVersion_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]gax.CallOption, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(gax.CallOption)
			}
		}
		run(args[0].(context.Context), args[1].(*secretmanagerpb.AddSecretVersionRequest), variadicArgs...)
	})
	return _c
}

func (_c *MockSecretManagerClient_AddSecretVersion_Call) Return(secretVersion *secretmanagerpb.SecretVersion, err error) *MockSecretManagerClient_AddSecretVersion_Call {
	_c.Call.Return(secretVersion, err)
	return _c
}

func (_c *MockSecretManagerClient_AddSecretVersion_Call) RunAndReturn(run func(context1 context.Context, addSecretVersionRequest *secretmanagerpb.AddSecretVersionRequest, callOptions ...gax.CallOption) (*secretmanagerpb.SecretVersion, error)) *MockSecretManagerClient_AddSecretVersion_Call {
	_c.Call.Return(run)
	return _c
}

// CreateSecret provides a mock function for the type MockSecretManagerClient
func (_mock *MockSecretManagerClient) CreateSecret(context1 context.Context, createSecretRequest *secretmanagerpb.CreateSecretRequest, callOptions ...gax.CallOption) (*secretmanagerpb.Secret, error) {
	var tmpRet mock.Arguments
	if len(callOptions) > 0 {
		tmpRet = _mock.Called(context1, createSecretRequest, callOptions)
	} else {
		tmpRet = _mock.Called(context1, createSecretRequest)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for CreateSecret")
	}

	var r0 *secretmanagerpb.Secret
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.CreateSecretRequest, ...gax.CallOption) (*secretmanagerpb.Secret, error)); ok {
		return returnFunc(context1, createSecretRequest, callOptions...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.CreateSecretRequest, ...gax.CallOption) *secretmanagerpb.Secret); ok {
		r0 = returnFunc(context1, createSecretRequest, callOptions...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*secretmanagerpb.Secret)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *secretmanagerpb.CreateSecretRequest, ...gax.CallOption) error); ok {
		r1 = returnFunc(context1, createSecretRequest, callOptions...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// MockSecretManagerClient_CreateSecret_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CreateSecret'
type MockSecretManagerClient_CreateSecret_Call struct {
	*mock.Call
}

// CreateSecret is a helper method to define mock.On call
//   - context1
//   - createSecretRequest
//   - callOptions
func (_e *MockSecretManagerClient_Expecter) CreateSecret(context1 interface{}, createSecretRequest interface{}, callOptions ...interface{}) *MockSecretManagerClient_CreateSecret_Call {
	return &MockSecretManagerClient_CreateSecret_Call{Call: _e.mock.On("CreateSecret",
		append([]interface{}{context1, createSecretRequest}, callOptions...)...)}
}

func (_c *MockSecretManagerClient_CreateSecret_Call) Run(run func(context1 context.Context, createSecretRequest *secretmanagerpb.CreateSecretRequest, callOptions ...gax.CallOption)) *MockSecretManagerClient_CreateSecret_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]gax.CallOption, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(gax.CallOption)
			}
		}
		run(args[0].(context.Context), args[1].(*secretmanagerpb.CreateSecretRequest), variadicArgs...)
	})
	return _c
}

func (_c *MockSecretManagerClient_CreateSecret_Call) Return(secret *secretmanagerpb.Secret, err error) *MockSecretManagerClient_CreateSecret_Call {
	_c.Call.Return(secret, err)
	return _c
}

func (_c *MockSecretManagerClient_CreateSecret_Call) RunAndReturn(run func(context1 context.Context, createSecretRequest *secretmanagerpb.CreateSecretRequest, callOptions ...gax.CallOption) (*secretmanagerpb.Secret, error)) *MockSecretManagerClient_CreateSecret_Call {
	_c.Call.Return(run)
	return _c
}

// DeleteSecret provides a mock function for the type MockSecretManagerClient
func (_mock *MockSecretManagerClient) DeleteSecret(context1 context.Context, deleteSecretRequest *secretmanagerpb.DeleteSecretRequest, callOptions ...gax.CallOption) error {
	var tmpRet mock.Arguments
	if len(callOptions) > 0 {
		tmpRet = _mock.Called(context1, deleteSecretRequest, callOptions)
	} else {
		tmpRet = _mock.Called(context1, deleteSecretRequest)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for DeleteSecret")
	}

	var r0 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.DeleteSecretRequest, ...gax.CallOption) error); ok {
		r0 = returnFunc(context1, deleteSecretRequest, callOptions...)
	} else {
		r0 = ret.Error(0)
	}
	return r0
}

// MockSecretManagerClient_DeleteSecret_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'DeleteSecret'
type MockSecretManagerClient_DeleteSecret_Call struct {
	*mock.Call
}

// DeleteSecret is a helper method to define mock.On call
//   - context1
//   - deleteSecretRequest
//   - callOptions
func (_e *MockSecretManagerClient_Expecter) DeleteSecret(context1 interface{}, deleteSecretRequest interface{}, callOptions ...interface{}) *MockSecretManagerClient_DeleteSecret_Call {
	return &MockSecretManagerClient_DeleteSecret_Call{Call: _e.mock.On("DeleteSecret",
		append([]interface{}{context1, deleteSecretRequest}, callOptions...)...)}
}

func (_c *MockSecretManagerClient_DeleteSecret_Call) Run(run func(context1 context.Context, deleteSecretRequest *secretmanagerpb.DeleteSecretRequest, callOptions ...gax.CallOption)) *MockSecretManagerClient_DeleteSecret_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]gax.CallOption, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(gax.CallOption)
			}
		}
		run(args[0].(context.Context), args[1].(*secretmanagerpb.DeleteSecretRequest), variadicArgs...)
	})
	return _c
}

func (_c *MockSecretManagerClient_DeleteSecret_Call) Return(err error) *MockSecretManagerClient_DeleteSecret_Call {
	_c.Call.Return(err)
	return _c
}

func (_c *MockSecretManagerClient_DeleteSecret_Call) RunAndReturn(run func(context1 context.Context, deleteSecretRequest *secretmanagerpb.DeleteSecretRequest, callOptions ...gax.CallOption) error) *MockSecretManagerClient_DeleteSecret_Call {
	_c.Call.Return(run)
	return _c
}

// DestroySecretVersion provides a mock function for the type MockSecretManagerClient
func (_mock *MockSecretManagerClient) DestroySecretVersion(context1 context.Context, destroySecretVersionRequest *secretmanagerpb.DestroySecretVersionRequest, callOptions ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
	var tmpRet mock.Arguments
	if len(callOptions) > 0 {
		tmpRet = _mock.Called(context1, destroySecretVersionRequest, callOptions)
	} else {
		tmpRet = _mock.Called(context1, destroySecretVersionRequest)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for DestroySecretVersion")
	}

	var r0 *secretmanagerpb.SecretVersion
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.DestroySecretVersionRequest, ...gax.CallOption) (*secretmanagerpb.SecretVersion, error)); ok {
		return returnFunc(context1, destroySecretVersionRequest, callOptions...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.DestroySecretVersionRequest, ...gax.CallOption) *secretmanagerpb.SecretVersion); ok {
		r0 = returnFunc(context1, destroySecretVersionRequest, callOptions...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*secretmanagerpb.SecretVersion)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *secretmanagerpb.DestroySecretVersionRequest, ...gax.CallOption) error); ok {
		r1 = returnFunc(context1, destroySecretVersionRequest, callOptions...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// MockSecretManagerClient_DestroySecretVersion_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'DestroySecretVersion'
type MockSecretManagerClient_DestroySecretVersion_Call struct {
	*mock.Call
}

// DestroySecretVersion is a helper method to define mock.On call
//   - context1
//   - destroySecretVersionRequest
//   - callOptions
func (_e *MockSecretManagerClient_Expecter) DestroySecretVersion(context1 interface{}, destroySecretVersionRequest interface{}, callOptions ...interface{}) *MockSecretManagerClient_DestroySecretVersion_Call {
	return &MockSecretManagerClient_DestroySecretVersion_Call{Call: _e.mock.On("DestroySecretVersion",
		append([]interface{}{context1, destroySecretVersionRequest}, callOptions...)...)}
}

func (_c *MockSecretManagerClient_DestroySecretVersion_Call) Run(run func(context1 context.Context, destroySecretVersionRequest *secretmanagerpb.DestroySecretVersionRequest, callOptions ...gax.CallOption)) *MockSecretManagerClient_DestroySecretVersion_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]gax.CallOption, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(gax.CallOption)
			}
		}
		run(args[0].(context.Context), args[1].(*secretmanagerpb.DestroySecretVersionRequest), variadicArgs...)
	})
	return _c
}

func (_c *MockSecretManagerClient_DestroySecretVersion_Call) Return(secretVersion *secretmanagerpb.SecretVersion, err error) *MockSecretManagerClient_DestroySecretVersion_Call {
	_c.Call.Return(secretVersion, err)
	return _c
}

func (_c *MockSecretManagerClient_DestroySecretVersion_Call) RunAndReturn(run func(context1 context.Context, destroySecretVersionRequest *secretmanagerpb.DestroySecretVersionRequest, callOptions ...gax.CallOption) (*secretmanagerpb.SecretVersion, error)) *MockSecretManagerClient_DestroySecretVersion_Call {
	_c.Call.Return(run)
	return _c
}

// DisableSecretVersion provides a mock function for the type MockSecretManagerClient
func (_mock *MockSecretManagerClient) DisableSecretVersion(context1 context.Context, disableSecretVersionRequest *secretmanagerpb.DisableSecretVersionRequest, callOptions ...gax.CallOption) (*secretmanagerpb.SecretVersion, error) {
	var tmpRet mock.Arguments
	if len(callOptions) > 0 {
		tmpRet = _mock.Called(context1, disableSecretVersionRequest, callOptions)
	} else {
		tmpRet = _mock.Called(context1, disableSecretVersionRequest)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for DisableSecretVersion")
	}

	var r0 *secretmanagerpb.SecretVersion
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.DisableSecretVersionRequest, ...gax.CallOption) (*secretmanagerpb.SecretVersion, error)); ok {
		return returnFunc(context1, disableSecretVersionRequest, callOptions...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.DisableSecretVersionRequest, ...gax.CallOption) *secretmanagerpb.SecretVersion); ok {
		r0 = returnFunc(context1, disableSecretVersionRequest, callOptions...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*secretmanagerpb.SecretVersion)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *secretmanagerpb.DisableSecretVersionRequest, ...gax.CallOption) error); ok {
		r1 = returnFunc(context1, disableSecretVersionRequest, callOptions...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// MockSecretManagerClient_DisableSecretVersion_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'DisableSecretVersion'
type MockSecretManagerClient_DisableSecretVersion_Call struct {
	*mock.Call
}

// DisableSecretVersion is a helper method to define mock.On call
//   - context1
//   - disableSecretVersionRequest
//   - callOptions
func (_e *MockSecretManagerClient_Expecter) DisableSecretVersion(context1 interface{}, disableSecretVersionRequest interface{}, callOptions ...interface{}) *MockSecretManagerClient_DisableSecretVersion_Call {
	return &MockSecretManagerClient_DisableSecretVersion_Call{Call: _e.mock.On("DisableSecretVersion",
		append([]interface{}{context1, disableSecretVersionRequest}, callOptions...)...)}
}

func (_c *MockSecretManagerClient_DisableSecretVersion_Call) Run(run func(context1 context.Context, disableSecretVersionRequest *secretmanagerpb.DisableSecretVersionRequest, callOptions ...gax.CallOption)) *MockSecretManagerClient_DisableSecretVersion_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]gax.CallOption, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(gax.CallOption)
			}
		}
		run(args[0].(context.Context), args[1].(*secretmanagerpb.DisableSecretVersionRequest), variadicArgs...)
	})
	return _c
}

func (_c *MockSecretManagerClient_DisableSecretVersion_Call) Return(secretVersion *secretmanagerpb.SecretVersion, err error) *MockSecretManagerClient_DisableSecretVersion_Call {
	_c.Call.Return(secretVersion, err)
	return _c
}

func (_c *MockSecretManagerClient_DisableSecretVersion_Call) RunAndReturn(run func(context1 context.Context, disableSecretVersionRequest *secretmanagerpb.DisableSecretVersionRequest, callOptions ...gax.CallOption) (*secretmanagerpb.SecretVersion, error)) *MockSecretManagerClient_DisableSecretVersion_Call {
	_c.Call.Return(run)
	return _c
}

// GetSecret provides a mock function for the type MockSecretManagerClient
func (_mock *MockSecretManagerClient) GetSecret(context1 context.Context, getSecretRequest *secretmanagerpb.GetSecretRequest, callOptions ...gax.CallOption) (*secretmanagerpb.Secret, error) {
	var tmpRet mock.Arguments
	if len(callOptions) > 0 {
		tmpRet = _mock.Called(context1, getSecretRequest, callOptions)
	} else {
		tmpRet = _mock.Called(context1, getSecretRequest)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for GetSecret")
	}

	var r0 *secretmanagerpb.Secret
	var r1 error
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.GetSecretRequest, ...gax.CallOption) (*secretmanagerpb.Secret, error)); ok {
		return returnFunc(context1, getSecretRequest, callOptions...)
	}
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.GetSecretRequest, ...gax.CallOption) *secretmanagerpb.Secret); ok {
		r0 = returnFunc(context1, getSecretRequest, callOptions...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*secretmanagerpb.Secret)
		}
	}
	if returnFunc, ok := ret.Get(1).(func(context.Context, *secretmanagerpb.GetSecretRequest, ...gax.CallOption) error); ok {
		r1 = returnFunc(context1, getSecretRequest, callOptions...)
	} else {
		r1 = ret.Error(1)
	}
	return r0, r1
}

// MockSecretManagerClient_GetSecret_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetSecret'
type MockSecretManagerClient_GetSecret_Call struct {
	*mock.Call
}

// GetSecret is a helper method to define mock.On call
//   - context1
//   - getSecretRequest
//   - callOptions
func (_e *MockSecretManagerClient_Expecter) GetSecret(context1 interface{}, getSecretRequest interface{}, callOptions ...interface{}) *MockSecretManagerClient_GetSecret_Call {
	return &MockSecretManagerClient_GetSecret_Call{Call: _e.mock.On("GetSecret",
		append([]interface{}{context1, getSecretRequest}, callOptions...)...)}
}

func (_c *MockSecretManagerClient_GetSecret_Call) Run(run func(context1 context.Context, getSecretRequest *secretmanagerpb.GetSecretRequest, callOptions ...gax.CallOption)) *MockSecretManagerClient_GetSecret_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]gax.CallOption, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(gax.CallOption)
			}
		}
		run(args[0].(context.Context), args[1].(*secretmanagerpb.GetSecretRequest), variadicArgs...)
	})
	return _c
}

func (_c *MockSecretManagerClient_GetSecret_Call) Return(secret *secretmanagerpb.Secret, err error) *MockSecretManagerClient_GetSecret_Call {
	_c.Call.Return(secret, err)
	return _c
}

func (_c *MockSecretManagerClient_GetSecret_Call) RunAndReturn(run func(context1 context.Context, getSecretRequest *secretmanagerpb.GetSecretRequest, callOptions ...gax.CallOption) (*secretmanagerpb.Secret, error)) *MockSecretManagerClient_GetSecret_Call {
	_c.Call.Return(run)
	return _c
}

// ListSecretVersions provides a mock function for the type MockSecretManagerClient
func (_mock *MockSecretManagerClient) ListSecretVersions(context1 context.Context, listSecretVersionsRequest *secretmanagerpb.ListSecretVersionsRequest, callOptions ...gax.CallOption) *secretmanager.SecretVersionIterator {
	var tmpRet mock.Arguments
	if len(callOptions) > 0 {
		tmpRet = _mock.Called(context1, listSecretVersionsRequest, callOptions)
	} else {
		tmpRet = _mock.Called(context1, listSecretVersionsRequest)
	}
	ret := tmpRet

	if len(ret) == 0 {
		panic("no return value specified for ListSecretVersions")
	}

	var r0 *secretmanager.SecretVersionIterator
	if returnFunc, ok := ret.Get(0).(func(context.Context, *secretmanagerpb.ListSecretVersionsRequest, ...gax.CallOption) *secretmanager.SecretVersionIterator); ok {
		r0 = returnFunc(context1, listSecretVersionsRequest, callOptions...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*secretmanager.SecretVersionIterator)
		}
	}
	return r0
}

// MockSecretManagerClient_ListSecretVersions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListSecretVersions'
type MockSecretManagerClient_ListSecretVersions_Call struct {
	*mock.Call
}

// ListSecretVersions is a helper method to define mock.On call
//   - context1
//   - listSecretVersionsRequest
//   - callOptions
func (_e *MockSecretManagerClient_Expecter) ListSecretVersions(context1 interface{}, listSecretVersionsRequest interface{}, callOptions ...interface{}) *MockSecretManagerClient_ListSecretVersions_Call {
	return &MockSecretManagerClient_ListSecretVersions_Call{Call: _e.mock.On("ListSecretVersions",
		append([]interface{}{context1, listSecretVersionsRequest}, callOptions...)...)}
}

func (_c *MockSecretManagerClient_ListSecretVersions_Call) Run(run func(context1 context.Context, listSecretVersionsRequest *secretmanagerpb.ListSecretVersionsRequest, callOptions ...gax.CallOption)) *MockSecretManagerClient_ListSecretVersions_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]gax.CallOption, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(gax.CallOption)
			}
		}
		run(args[0].(context.Context), args[1].(*secretmanagerpb.ListSecretVersionsRequest), variadicArgs...)
	})
	return _c
}

func (_c *MockSecretManagerClient_ListSecretVersions_Call) Return(secretVersionIterator *secretmanager.SecretVersionIterator) *MockSecretManagerClient_ListSecretVersions_Call {
	_c.Call.Return(secretVersionIterator)
	return _c
}

func (_c *MockSecretManagerClient_ListSecretVersions_Call) RunAndReturn(run func(context1 context.Context, listSecretVersionsRequest *secretmanagerpb.ListSecretVersionsRequest, callOptions ...gax.CallOption) *secretmanager.SecretVersionIterator) *MockSecretManagerClient_ListSecretVersions_Call {
	_c.Call.Return(run)
	return _c
}
