// Code generated by mockery v2.53.3. DO NOT EDIT.

package mock

import (
	context "context"

	bizerr "github.com/tidbcloud/pkgv2/bizerr"

	mock "github.com/stretchr/testify/mock"

	regionalapi "github.com/tidbcloud/dataflow-service-ng/pkg/regional-api"

	ticdc_service_ngv1 "github.com/tidbcloud/cluster-service-ng/api/tidbcloud/ticdc-service/v1"
)

// TiCDCClusterClient is an autogenerated mock type for the TiCDCClusterClient type
type TiCDCClusterClient struct {
	mock.Mock
}

// CreateTiCDCCluster provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) CreateTiCDCCluster(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.CreateTiCDCClusterRequest) (*ticdc_service_ngv1.TiCDCCluster, bizerr.BizError) {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for CreateTiCDCCluster")
	}

	var r0 *ticdc_service_ngv1.TiCDCCluster
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.CreateTiCDCClusterRequest) (*ticdc_service_ngv1.TiCDCCluster, bizerr.BizError)); ok {
		return rf(ctx, region, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.CreateTiCDCClusterRequest) *ticdc_service_ngv1.TiCDCCluster); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*ticdc_service_ngv1.TiCDCCluster)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.CreateTiCDCClusterRequest) bizerr.BizError); ok {
		r1 = rf(ctx, region, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// DeleteTiCDCCluster provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) DeleteTiCDCCluster(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.DeleteTiCDCClusterRequest) bizerr.BizError {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for DeleteTiCDCCluster")
	}

	var r0 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.DeleteTiCDCClusterRequest) bizerr.BizError); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(bizerr.BizError)
		}
	}

	return r0
}

// GetTiCDCCluster provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) GetTiCDCCluster(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.GetTiCDCClusterRequest) (*ticdc_service_ngv1.TiCDCCluster, bizerr.BizError) {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for GetTiCDCCluster")
	}

	var r0 *ticdc_service_ngv1.TiCDCCluster
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.GetTiCDCClusterRequest) (*ticdc_service_ngv1.TiCDCCluster, bizerr.BizError)); ok {
		return rf(ctx, region, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.GetTiCDCClusterRequest) *ticdc_service_ngv1.TiCDCCluster); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*ticdc_service_ngv1.TiCDCCluster)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.GetTiCDCClusterRequest) bizerr.BizError); ok {
		r1 = rf(ctx, region, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// GetTiCDCClusterRole provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) GetTiCDCClusterRole(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.GetTiCDCClusterRoleRequest) (*ticdc_service_ngv1.TiCDCClusterRole, bizerr.BizError) {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for GetTiCDCClusterRole")
	}

	var r0 *ticdc_service_ngv1.TiCDCClusterRole
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.GetTiCDCClusterRoleRequest) (*ticdc_service_ngv1.TiCDCClusterRole, bizerr.BizError)); ok {
		return rf(ctx, region, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.GetTiCDCClusterRoleRequest) *ticdc_service_ngv1.TiCDCClusterRole); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*ticdc_service_ngv1.TiCDCClusterRole)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.GetTiCDCClusterRoleRequest) bizerr.BizError); ok {
		r1 = rf(ctx, region, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// ListTiCDCClusters provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) ListTiCDCClusters(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.ListTiCDCClustersRequest) (*ticdc_service_ngv1.ListTiCDCClustersResponse, bizerr.BizError) {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for ListTiCDCClusters")
	}

	var r0 *ticdc_service_ngv1.ListTiCDCClustersResponse
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.ListTiCDCClustersRequest) (*ticdc_service_ngv1.ListTiCDCClustersResponse, bizerr.BizError)); ok {
		return rf(ctx, region, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.ListTiCDCClustersRequest) *ticdc_service_ngv1.ListTiCDCClustersResponse); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*ticdc_service_ngv1.ListTiCDCClustersResponse)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.ListTiCDCClustersRequest) bizerr.BizError); ok {
		r1 = rf(ctx, region, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// RestartTiCDCCluster provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) RestartTiCDCCluster(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.RestartTiCDCClusterRequest) bizerr.BizError {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for RestartTiCDCCluster")
	}

	var r0 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.RestartTiCDCClusterRequest) bizerr.BizError); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(bizerr.BizError)
		}
	}

	return r0
}

// ScaleTiCDCCluster provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) ScaleTiCDCCluster(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.ScaleTiCDCClusterRequest) bizerr.BizError {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for ScaleTiCDCCluster")
	}

	var r0 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.ScaleTiCDCClusterRequest) bizerr.BizError); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(bizerr.BizError)
		}
	}

	return r0
}

// UpdateTiCDCClusterConfig provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) UpdateTiCDCClusterConfig(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.UpdateTiCDCClusterConfigRequest) bizerr.BizError {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for UpdateTiCDCClusterConfig")
	}

	var r0 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.UpdateTiCDCClusterConfigRequest) bizerr.BizError); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(bizerr.BizError)
		}
	}

	return r0
}

// UpdateTiCDCClusterStorage provides a mock function with given fields: ctx, region, req
func (_m *TiCDCClusterClient) UpdateTiCDCClusterStorage(ctx context.Context, region *regionalapi.Region, req *ticdc_service_ngv1.UpdateTiCDCClusterStorageRequest) bizerr.BizError {
	ret := _m.Called(ctx, region, req)

	if len(ret) == 0 {
		panic("no return value specified for UpdateTiCDCClusterStorage")
	}

	var r0 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *regionalapi.Region, *ticdc_service_ngv1.UpdateTiCDCClusterStorageRequest) bizerr.BizError); ok {
		r0 = rf(ctx, region, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(bizerr.BizError)
		}
	}

	return r0
}

// NewTiCDCClusterClient creates a new instance of TiCDCClusterClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewTiCDCClusterClient(t interface {
	mock.TestingT
	Cleanup(func())
}) *TiCDCClusterClient {
	mock := &TiCDCClusterClient{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}
