// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/pingcap/test-infra/sdk/resource (interfaces: TiDBCluster)

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

import (
	context "context"
	sql "database/sql"
	url "net/url"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	resource "github.com/pingcap/test-infra/common/model/resource"
	pdutil "github.com/pingcap/test-infra/sdk/pkg/util/pdutil"
	resource0 "github.com/pingcap/test-infra/sdk/resource"
	api "github.com/prometheus/client_golang/api"
	v1 "github.com/prometheus/client_golang/api/prometheus/v1"
)

// MockTiDBCluster is a mock of TiDBCluster interface.
type MockTiDBCluster struct {
	ctrl     *gomock.Controller
	recorder *MockTiDBClusterMockRecorder
}

// MockTiDBClusterMockRecorder is the mock recorder for MockTiDBCluster.
type MockTiDBClusterMockRecorder struct {
	mock *MockTiDBCluster
}

// NewMockTiDBCluster creates a new mock instance.
func NewMockTiDBCluster(ctrl *gomock.Controller) *MockTiDBCluster {
	mock := &MockTiDBCluster{ctrl: ctrl}
	mock.recorder = &MockTiDBClusterMockRecorder{mock}
	return mock
}

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

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

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

// ChaosSelect mocks base method.
func (m *MockTiDBCluster) ChaosSelect(arg0 resource0.TiDBClusterSelectorOpts) ([]resource0.ChaosSelector, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ChaosSelect", arg0)
	ret0, _ := ret[0].([]resource0.ChaosSelector)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Exec mocks base method.
func (m *MockTiDBCluster) Exec(arg0 resource0.TiDBClusterExecOptions) (string, string, int, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Exec", arg0)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(string)
	ret2, _ := ret[2].(int)
	ret3, _ := ret[3].(error)
	return ret0, ret1, ret2, ret3
}

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

// GetDB mocks base method.
func (m *MockTiDBCluster) GetDB(arg0 string) (*sql.DB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetDB", arg0)
	ret0, _ := ret[0].(*sql.DB)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetNodes mocks base method.
func (m *MockTiDBCluster) GetNodes(arg0 resource0.TiDBCompType) ([]resource0.TiDBComponentNode, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetNodes", arg0)
	ret0, _ := ret[0].([]resource0.TiDBComponentNode)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetSpec mocks base method.
func (m *MockTiDBCluster) GetSpec(arg0 resource0.TiDBCompType) (*resource.TiDBClusterComponentSpec, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSpec", arg0)
	ret0, _ := ret[0].(*resource.TiDBClusterComponentSpec)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetStatus mocks base method.
func (m *MockTiDBCluster) GetStatus(arg0 resource0.TiDBCompType) (*resource.TiDBClusterComponentStatus, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetStatus", arg0)
	ret0, _ := ret[0].(*resource.TiDBClusterComponentStatus)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Handle mocks base method.
func (m *MockTiDBCluster) Handle() resource.ResourceHandle {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Handle")
	ret0, _ := ret[0].(resource.ResourceHandle)
	return ret0
}

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

// PDClient mocks base method.
func (m *MockTiDBCluster) PDClient() (*pdutil.Client, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PDClient")
	ret0, _ := ret[0].(*pdutil.Client)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// PeerURLs mocks base method.
func (m *MockTiDBCluster) PeerURLs(arg0 resource0.TiDBAddrType) ([]*url.URL, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PeerURLs", arg0)
	ret0, _ := ret[0].([]*url.URL)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// PrometheusAPI mocks base method.
func (m *MockTiDBCluster) PrometheusAPI() (v1.API, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PrometheusAPI")
	ret0, _ := ret[0].(v1.API)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// PrometheusClient mocks base method.
func (m *MockTiDBCluster) PrometheusClient() (api.Client, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PrometheusClient")
	ret0, _ := ret[0].(api.Client)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Scale mocks base method.
func (m *MockTiDBCluster) Scale(arg0 resource0.TiDBClusterScaleOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Scale", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// SearchLog mocks base method.
func (m *MockTiDBCluster) SearchLog(arg0 context.Context, arg1 resource0.TiDBClusterSearchLogOptions) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SearchLog", arg0, arg1)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ServiceURL mocks base method.
func (m *MockTiDBCluster) ServiceURL(arg0 resource0.TiDBAddrType) (*url.URL, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ServiceURL", arg0)
	ret0, _ := ret[0].(*url.URL)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// UpdateConfig mocks base method.
func (m *MockTiDBCluster) UpdateConfig(arg0 resource0.TiDBClusterUpdateConfigOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateConfig", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// UpdateConfigs mocks base method.
func (m *MockTiDBCluster) UpdateConfigs(arg0 resource0.TiDBClusterUpdateConfigsOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateConfigs", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// Upgrade mocks base method.
func (m *MockTiDBCluster) Upgrade(arg0 resource0.TiDBClusterUpgradeOptions) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Upgrade", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// WatchOOM mocks base method.
func (m *MockTiDBCluster) WatchOOM(arg0 context.Context, arg1 resource0.TiDBClusterOOMWatchOptions) (<-chan resource0.OOMEvent, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WatchOOM", arg0, arg1)
	ret0, _ := ret[0].(<-chan resource0.OOMEvent)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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