// Code generated by MockGen. DO NOT EDIT.
// Source: ../../providers/registration/registration.go

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

import (
	json "encoding/json"
	reflect "reflect"

	aagent "github.com/choria-io/go-choria/aagent"
	build "github.com/choria-io/go-choria/build"
	ddl "github.com/choria-io/go-choria/providers/data/ddl"
	agents "github.com/choria-io/go-choria/server/agents"
	statistics "github.com/choria-io/go-choria/statistics"
	gomock "go.uber.org/mock/gomock"
)

// MockServerInfoSource is a mock of ServerInfoSource interface.
type MockServerInfoSource struct {
	ctrl     *gomock.Controller
	recorder *MockServerInfoSourceMockRecorder
}

// MockServerInfoSourceMockRecorder is the mock recorder for MockServerInfoSource.
type MockServerInfoSourceMockRecorder struct {
	mock *MockServerInfoSource
}

// NewMockServerInfoSource creates a new mock instance.
func NewMockServerInfoSource(ctrl *gomock.Controller) *MockServerInfoSource {
	mock := &MockServerInfoSource{ctrl: ctrl}
	mock.recorder = &MockServerInfoSourceMockRecorder{mock}
	return mock
}

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

// AgentMetadata mocks base method.
func (m *MockServerInfoSource) AgentMetadata(agent string) (agents.Metadata, bool) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AgentMetadata", agent)
	ret0, _ := ret[0].(agents.Metadata)
	ret1, _ := ret[1].(bool)
	return ret0, ret1
}

// AgentMetadata indicates an expected call of AgentMetadata.
func (mr *MockServerInfoSourceMockRecorder) AgentMetadata(agent any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AgentMetadata", reflect.TypeOf((*MockServerInfoSource)(nil).AgentMetadata), agent)
}

// BuildInfo mocks base method.
func (m *MockServerInfoSource) BuildInfo() *build.Info {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BuildInfo")
	ret0, _ := ret[0].(*build.Info)
	return ret0
}

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

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

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

// DataFuncMap mocks base method.
func (m *MockServerInfoSource) DataFuncMap() (ddl.FuncMap, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DataFuncMap")
	ret0, _ := ret[0].(ddl.FuncMap)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Facts mocks base method.
func (m *MockServerInfoSource) Facts() json.RawMessage {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Facts")
	ret0, _ := ret[0].(json.RawMessage)
	return ret0
}

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

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

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

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

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

// MachinesStatus mocks base method.
func (m *MockServerInfoSource) MachinesStatus() ([]aagent.MachineState, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MachinesStatus")
	ret0, _ := ret[0].([]aagent.MachineState)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Status mocks base method.
func (m *MockServerInfoSource) Status() *statistics.InstanceStatus {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Status")
	ret0, _ := ret[0].(*statistics.InstanceStatus)
	return ret0
}

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