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

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

import (
	context "context"
	task "github.com/baetyl/baetyl-go/v2/task"
	gomock "github.com/golang/mock/gomock"
	reflect "reflect"
)

// MockTask is a mock of Task interface
type MockTask struct {
	ctrl     *gomock.Controller
	recorder *MockTaskMockRecorder
}

// MockTaskMockRecorder is the mock recorder for MockTask
type MockTaskMockRecorder struct {
	mock *MockTask
}

// NewMockTask creates a new mock instance
func NewMockTask(ctrl *gomock.Controller) *MockTask {
	mock := &MockTask{ctrl: ctrl}
	mock.recorder = &MockTaskMockRecorder{mock}
	return mock
}

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

// AddTask mocks base method
func (m *MockTask) AddTask(arg0 string, arg1 ...interface{}) (*task.TaskResult, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{arg0}
	for _, a := range arg1 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "AddTask", varargs...)
	ret0, _ := ret[0].(*task.TaskResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// AddTask indicates an expected call of AddTask
func (mr *MockTaskMockRecorder) AddTask(arg0 interface{}, arg1 ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{arg0}, arg1...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddTask", reflect.TypeOf((*MockTask)(nil).AddTask), varargs...)
}

// AddTaskWithKey mocks base method
func (m *MockTask) AddTaskWithKey(arg0 string, arg1 map[string]interface{}) (*task.TaskResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddTaskWithKey", arg0, arg1)
	ret0, _ := ret[0].(*task.TaskResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

// Register mocks base method
func (m *MockTask) Register(arg0 string, arg1 interface{}) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Register", arg0, arg1)
}

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

// StartWorker mocks base method
func (m *MockTask) StartWorker(arg0 context.Context) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "StartWorker", arg0)
}

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

// StopWorker mocks base method
func (m *MockTask) StopWorker() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "StopWorker")
}

// StopWorker indicates an expected call of StopWorker
func (mr *MockTaskMockRecorder) StopWorker() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StopWorker", reflect.TypeOf((*MockTask)(nil).StopWorker))
}
