// Code generated by MockGen. DO NOT EDIT.
// Source: ../interfaces/action_schedule_service.go
//
// Generated by this command:
//
//	mockgen -source ../interfaces/action_schedule_service.go -destination ../interfaces/mock/mock_action_schedule_service.go
//

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

import (
	interfaces "bkn-backend/interfaces"
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockActionScheduleService is a mock of ActionScheduleService interface.
type MockActionScheduleService struct {
	ctrl     *gomock.Controller
	recorder *MockActionScheduleServiceMockRecorder
	isgomock struct{}
}

// MockActionScheduleServiceMockRecorder is the mock recorder for MockActionScheduleService.
type MockActionScheduleServiceMockRecorder struct {
	mock *MockActionScheduleService
}

// NewMockActionScheduleService creates a new mock instance.
func NewMockActionScheduleService(ctrl *gomock.Controller) *MockActionScheduleService {
	mock := &MockActionScheduleService{ctrl: ctrl}
	mock.recorder = &MockActionScheduleServiceMockRecorder{mock}
	return mock
}

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

// CalculateNextRunTime mocks base method.
func (m *MockActionScheduleService) CalculateNextRunTime(cronExpr string, from int64) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CalculateNextRunTime", cronExpr, from)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CalculateNextRunTime indicates an expected call of CalculateNextRunTime.
func (mr *MockActionScheduleServiceMockRecorder) CalculateNextRunTime(cronExpr, from any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CalculateNextRunTime", reflect.TypeOf((*MockActionScheduleService)(nil).CalculateNextRunTime), cronExpr, from)
}

// CreateSchedule mocks base method.
func (m *MockActionScheduleService) CreateSchedule(ctx context.Context, schedule *interfaces.ActionSchedule) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateSchedule", ctx, schedule)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateSchedule indicates an expected call of CreateSchedule.
func (mr *MockActionScheduleServiceMockRecorder) CreateSchedule(ctx, schedule any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSchedule", reflect.TypeOf((*MockActionScheduleService)(nil).CreateSchedule), ctx, schedule)
}

// DeleteSchedules mocks base method.
func (m *MockActionScheduleService) DeleteSchedules(ctx context.Context, knID, branch string, scheduleIDs []string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteSchedules", ctx, knID, branch, scheduleIDs)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteSchedules indicates an expected call of DeleteSchedules.
func (mr *MockActionScheduleServiceMockRecorder) DeleteSchedules(ctx, knID, branch, scheduleIDs any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSchedules", reflect.TypeOf((*MockActionScheduleService)(nil).DeleteSchedules), ctx, knID, branch, scheduleIDs)
}

// GetSchedule mocks base method.
func (m *MockActionScheduleService) GetSchedule(ctx context.Context, scheduleID string) (*interfaces.ActionSchedule, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSchedule", ctx, scheduleID)
	ret0, _ := ret[0].(*interfaces.ActionSchedule)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSchedule indicates an expected call of GetSchedule.
func (mr *MockActionScheduleServiceMockRecorder) GetSchedule(ctx, scheduleID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSchedule", reflect.TypeOf((*MockActionScheduleService)(nil).GetSchedule), ctx, scheduleID)
}

// GetSchedules mocks base method.
func (m *MockActionScheduleService) GetSchedules(ctx context.Context, scheduleIDs []string) (map[string]*interfaces.ActionSchedule, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSchedules", ctx, scheduleIDs)
	ret0, _ := ret[0].(map[string]*interfaces.ActionSchedule)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSchedules indicates an expected call of GetSchedules.
func (mr *MockActionScheduleServiceMockRecorder) GetSchedules(ctx, scheduleIDs any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSchedules", reflect.TypeOf((*MockActionScheduleService)(nil).GetSchedules), ctx, scheduleIDs)
}

// ListSchedules mocks base method.
func (m *MockActionScheduleService) ListSchedules(ctx context.Context, queryParams interfaces.ActionScheduleQueryParams) ([]*interfaces.ActionSchedule, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListSchedules", ctx, queryParams)
	ret0, _ := ret[0].([]*interfaces.ActionSchedule)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListSchedules indicates an expected call of ListSchedules.
func (mr *MockActionScheduleServiceMockRecorder) ListSchedules(ctx, queryParams any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSchedules", reflect.TypeOf((*MockActionScheduleService)(nil).ListSchedules), ctx, queryParams)
}

// UpdateSchedule mocks base method.
func (m *MockActionScheduleService) UpdateSchedule(ctx context.Context, scheduleID string, req *interfaces.ActionScheduleUpdateRequest) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateSchedule", ctx, scheduleID, req)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateSchedule indicates an expected call of UpdateSchedule.
func (mr *MockActionScheduleServiceMockRecorder) UpdateSchedule(ctx, scheduleID, req any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSchedule", reflect.TypeOf((*MockActionScheduleService)(nil).UpdateSchedule), ctx, scheduleID, req)
}

// UpdateScheduleStatus mocks base method.
func (m *MockActionScheduleService) UpdateScheduleStatus(ctx context.Context, scheduleID, status string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateScheduleStatus", ctx, scheduleID, status)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateScheduleStatus indicates an expected call of UpdateScheduleStatus.
func (mr *MockActionScheduleServiceMockRecorder) UpdateScheduleStatus(ctx, scheduleID, status any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateScheduleStatus", reflect.TypeOf((*MockActionScheduleService)(nil).UpdateScheduleStatus), ctx, scheduleID, status)
}

// ValidateCronExpression mocks base method.
func (m *MockActionScheduleService) ValidateCronExpression(cronExpr string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ValidateCronExpression", cronExpr)
	ret0, _ := ret[0].(error)
	return ret0
}

// ValidateCronExpression indicates an expected call of ValidateCronExpression.
func (mr *MockActionScheduleServiceMockRecorder) ValidateCronExpression(cronExpr any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateCronExpression", reflect.TypeOf((*MockActionScheduleService)(nil).ValidateCronExpression), cronExpr)
}

// MockScheduleExecutor is a mock of ScheduleExecutor interface.
type MockScheduleExecutor struct {
	ctrl     *gomock.Controller
	recorder *MockScheduleExecutorMockRecorder
	isgomock struct{}
}

// MockScheduleExecutorMockRecorder is the mock recorder for MockScheduleExecutor.
type MockScheduleExecutorMockRecorder struct {
	mock *MockScheduleExecutor
}

// NewMockScheduleExecutor creates a new mock instance.
func NewMockScheduleExecutor(ctrl *gomock.Controller) *MockScheduleExecutor {
	mock := &MockScheduleExecutor{ctrl: ctrl}
	mock.recorder = &MockScheduleExecutorMockRecorder{mock}
	return mock
}

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

// ExecuteSchedule mocks base method.
func (m *MockScheduleExecutor) ExecuteSchedule(ctx context.Context, schedule *interfaces.ActionSchedule) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ExecuteSchedule", ctx, schedule)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ExecuteSchedule indicates an expected call of ExecuteSchedule.
func (mr *MockScheduleExecutorMockRecorder) ExecuteSchedule(ctx, schedule any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExecuteSchedule", reflect.TypeOf((*MockScheduleExecutor)(nil).ExecuteSchedule), ctx, schedule)
}
