// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/armadaproject/armada/internal/scheduler/database (interfaces: ExecutorRepository)
//
// Generated by this command:
//
//	mockgen -destination=./executor_repository.go -package=schedulermocks github.com/armadaproject/armada/internal/scheduler/database ExecutorRepository
//

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

import (
	reflect "reflect"
	time "time"

	armadacontext "github.com/armadaproject/armada/internal/common/armadacontext"
	schedulerobjects "github.com/armadaproject/armada/internal/scheduler/schedulerobjects"
	gomock "go.uber.org/mock/gomock"
)

// MockExecutorRepository is a mock of ExecutorRepository interface.
type MockExecutorRepository struct {
	ctrl     *gomock.Controller
	recorder *MockExecutorRepositoryMockRecorder
	isgomock struct{}
}

// MockExecutorRepositoryMockRecorder is the mock recorder for MockExecutorRepository.
type MockExecutorRepositoryMockRecorder struct {
	mock *MockExecutorRepository
}

// NewMockExecutorRepository creates a new mock instance.
func NewMockExecutorRepository(ctrl *gomock.Controller) *MockExecutorRepository {
	mock := &MockExecutorRepository{ctrl: ctrl}
	mock.recorder = &MockExecutorRepositoryMockRecorder{mock}
	return mock
}

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

// GetExecutorSettings mocks base method.
func (m *MockExecutorRepository) GetExecutorSettings(ctx *armadacontext.Context) ([]*schedulerobjects.ExecutorSettings, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetExecutorSettings", ctx)
	ret0, _ := ret[0].([]*schedulerobjects.ExecutorSettings)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetExecutors mocks base method.
func (m *MockExecutorRepository) GetExecutors(ctx *armadacontext.Context) ([]*schedulerobjects.Executor, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetExecutors", ctx)
	ret0, _ := ret[0].([]*schedulerobjects.Executor)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetLastUpdateTimes mocks base method.
func (m *MockExecutorRepository) GetLastUpdateTimes(ctx *armadacontext.Context) (map[string]time.Time, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetLastUpdateTimes", ctx)
	ret0, _ := ret[0].(map[string]time.Time)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// StoreExecutor mocks base method.
func (m *MockExecutorRepository) StoreExecutor(ctx *armadacontext.Context, executor *schedulerobjects.Executor) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "StoreExecutor", ctx, executor)
	ret0, _ := ret[0].(error)
	return ret0
}

// StoreExecutor indicates an expected call of StoreExecutor.
func (mr *MockExecutorRepositoryMockRecorder) StoreExecutor(ctx, executor any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StoreExecutor", reflect.TypeOf((*MockExecutorRepository)(nil).StoreExecutor), ctx, executor)
}
