// Code generated by MockGen. DO NOT EDIT.
// Source: pkg/clusterproxy/client/client.go

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	cluster_service_ngv1beta "github.com/tidbcloud/cluster-service-ng/api/cluster-service-ng/v1beta"
	client "github.com/tidbcloud/ticdc-service-ng/pkg/clusterproxy/client"
)

// MockClient is a mock of Client interface.
type MockClient struct {
	ctrl     *gomock.Controller
	recorder *MockClientMockRecorder
}

// MockClientMockRecorder is the mock recorder for MockClient.
type MockClientMockRecorder struct {
	mock *MockClient
}

// NewMockClient creates a new mock instance.
func NewMockClient(ctrl *gomock.Controller) *MockClient {
	mock := &MockClient{ctrl: ctrl}
	mock.recorder = &MockClientMockRecorder{mock}
	return mock
}

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

// GetTiDBGroup mocks base method.
func (m *MockClient) GetTiDBGroup() *cluster_service_ngv1beta.TiDBGroup {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTiDBGroup")
	ret0, _ := ret[0].(*cluster_service_ngv1beta.TiDBGroup)
	return ret0
}

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

// Request mocks base method.
func (m *MockClient) Request(ctx context.Context, method, relative string, body, dest interface{}) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Request", ctx, method, relative, body, dest)
	ret0, _ := ret[0].(error)
	return ret0
}

// Request indicates an expected call of Request.
func (mr *MockClientMockRecorder) Request(ctx, method, relative, body, dest interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Request", reflect.TypeOf((*MockClient)(nil).Request), ctx, method, relative, body, dest)
}

// MockCreator is a mock of Creator interface.
type MockCreator struct {
	ctrl     *gomock.Controller
	recorder *MockCreatorMockRecorder
}

// MockCreatorMockRecorder is the mock recorder for MockCreator.
type MockCreatorMockRecorder struct {
	mock *MockCreator
}

// NewMockCreator creates a new mock instance.
func NewMockCreator(ctrl *gomock.Controller) *MockCreator {
	mock := &MockCreator{ctrl: ctrl}
	mock.recorder = &MockCreatorMockRecorder{mock}
	return mock
}

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

// CreateClient mocks base method.
func (m *MockCreator) CreateClient(ctx context.Context, group *cluster_service_ngv1beta.TiDBGroup, authToke, apiGateWay string, opts ...client.Option) (client.Client, error) {
	m.ctrl.T.Helper()
	varargs := []interface{}{ctx, group, authToke, apiGateWay}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CreateClient", varargs...)
	ret0, _ := ret[0].(client.Client)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateClient indicates an expected call of CreateClient.
func (mr *MockCreatorMockRecorder) CreateClient(ctx, group, authToke, apiGateWay interface{}, opts ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{ctx, group, authToke, apiGateWay}, opts...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateClient", reflect.TypeOf((*MockCreator)(nil).CreateClient), varargs...)
}
