// Code generated by MockGen. DO NOT EDIT.
// Source: node_operations.go
//
// Generated by this command:
//
//	mockgen -source=node_operations.go -destination=mock_node_operations_test.go -package=controller
//
// Package controller is a generated GoMock package.
package controller

import (
	context "context"
	reflect "reflect"

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

// MockNodeOps is a mock of NodeOps interface.
type MockNodeOps struct {
	ctrl     *gomock.Controller
	recorder *MockNodeOpsMockRecorder
}

// MockNodeOpsMockRecorder is the mock recorder for MockNodeOps.
type MockNodeOpsMockRecorder struct {
	mock *MockNodeOps
}

// NewMockNodeOps creates a new mock instance.
func NewMockNodeOps(ctrl *gomock.Controller) *MockNodeOps {
	mock := &MockNodeOps{ctrl: ctrl}
	mock.recorder = &MockNodeOpsMockRecorder{mock}
	return mock
}

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

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

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

// GetMaxUnavailable mocks base method.
func (m *MockNodeOps) GetMaxUnavailable(ctx context.Context, mcpName string, totalNodes int) (int, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetMaxUnavailable", ctx, mcpName, totalNodes)
	ret0, _ := ret[0].(int)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetMaxUnavailable indicates an expected call of GetMaxUnavailable.
func (mr *MockNodeOpsMockRecorder) GetMaxUnavailable(ctx, mcpName, totalNodes any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMaxUnavailable", reflect.TypeOf((*MockNodeOps)(nil).GetMaxUnavailable), ctx, mcpName, totalNodes)
}

// IsNodeReady mocks base method.
func (m *MockNodeOps) IsNodeReady(ctx context.Context, hostname string) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsNodeReady", ctx, hostname)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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