// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/baetyl/baetyl-cloud/v2/plugin (interfaces: Function)

// Package plugin is a generated GoMock package.
package plugin

import (
	models "github.com/baetyl/baetyl-cloud/v2/models"
	gomock "github.com/golang/mock/gomock"
	reflect "reflect"
)

// MockFunction is a mock of Function interface
type MockFunction struct {
	ctrl     *gomock.Controller
	recorder *MockFunctionMockRecorder
}

// MockFunctionMockRecorder is the mock recorder for MockFunction
type MockFunctionMockRecorder struct {
	mock *MockFunction
}

// NewMockFunction creates a new mock instance
func NewMockFunction(ctrl *gomock.Controller) *MockFunction {
	mock := &MockFunction{ctrl: ctrl}
	mock.recorder = &MockFunctionMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use
func (m *MockFunction) EXPECT() *MockFunctionMockRecorder {
	return m.recorder
}

// Close mocks base method
func (m *MockFunction) 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 *MockFunctionMockRecorder) Close() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockFunction)(nil).Close))
}

// Get mocks base method
func (m *MockFunction) Get(arg0, arg1, arg2 string) (*models.Function, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1, arg2)
	ret0, _ := ret[0].(*models.Function)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get
func (mr *MockFunctionMockRecorder) Get(arg0, arg1, arg2 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockFunction)(nil).Get), arg0, arg1, arg2)
}

// List mocks base method
func (m *MockFunction) List(arg0 string) ([]models.Function, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", arg0)
	ret0, _ := ret[0].([]models.Function)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// List indicates an expected call of List
func (mr *MockFunctionMockRecorder) List(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockFunction)(nil).List), arg0)
}

// ListFunctionVersions mocks base method
func (m *MockFunction) ListFunctionVersions(arg0, arg1 string) ([]models.Function, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListFunctionVersions", arg0, arg1)
	ret0, _ := ret[0].([]models.Function)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListFunctionVersions indicates an expected call of ListFunctionVersions
func (mr *MockFunctionMockRecorder) ListFunctionVersions(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListFunctionVersions", reflect.TypeOf((*MockFunction)(nil).ListFunctionVersions), arg0, arg1)
}
