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

package mock

import (
	context "context"

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

	domain "github.com/tidbcloud/dataflow-service-ng/app/models/domain"

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

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

// ApplyConfig provides a mock function with given fields: ctx, req
func (_m *ClusterModel) ApplyConfig(ctx context.Context, req *domain.ApplyTiCDCClusterConfigReq) bizerr.BizError {
	ret := _m.Called(ctx, req)

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

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

	return r0
}

// Create provides a mock function with given fields: ctx, req
func (_m *ClusterModel) Create(ctx context.Context, req *domain.CreateTiCDCClusterReq) (*domain.CreateTiCDCClusterResp, bizerr.BizError) {
	ret := _m.Called(ctx, req)

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

	var r0 *domain.CreateTiCDCClusterResp
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *domain.CreateTiCDCClusterReq) (*domain.CreateTiCDCClusterResp, bizerr.BizError)); ok {
		return rf(ctx, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *domain.CreateTiCDCClusterReq) *domain.CreateTiCDCClusterResp); ok {
		r0 = rf(ctx, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*domain.CreateTiCDCClusterResp)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *domain.CreateTiCDCClusterReq) bizerr.BizError); ok {
		r1 = rf(ctx, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// Delete provides a mock function with given fields: ctx, req
func (_m *ClusterModel) Delete(ctx context.Context, req *domain.DeleteTiCDCClusterReq) (*domain.DeleteTiCDCClusterResp, bizerr.BizError) {
	ret := _m.Called(ctx, req)

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

	var r0 *domain.DeleteTiCDCClusterResp
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *domain.DeleteTiCDCClusterReq) (*domain.DeleteTiCDCClusterResp, bizerr.BizError)); ok {
		return rf(ctx, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *domain.DeleteTiCDCClusterReq) *domain.DeleteTiCDCClusterResp); ok {
		r0 = rf(ctx, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*domain.DeleteTiCDCClusterResp)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *domain.DeleteTiCDCClusterReq) bizerr.BizError); ok {
		r1 = rf(ctx, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// GetRole provides a mock function with given fields: ctx, req
func (_m *ClusterModel) GetRole(ctx context.Context, req *domain.GetTiCDCClusterRoleReq) (*domain.GetTiCDCClusterRoleResp, bizerr.BizError) {
	ret := _m.Called(ctx, req)

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

	var r0 *domain.GetTiCDCClusterRoleResp
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *domain.GetTiCDCClusterRoleReq) (*domain.GetTiCDCClusterRoleResp, bizerr.BizError)); ok {
		return rf(ctx, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *domain.GetTiCDCClusterRoleReq) *domain.GetTiCDCClusterRoleResp); ok {
		r0 = rf(ctx, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*domain.GetTiCDCClusterRoleResp)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *domain.GetTiCDCClusterRoleReq) bizerr.BizError); ok {
		r1 = rf(ctx, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// List provides a mock function with given fields: ctx, req
func (_m *ClusterModel) List(ctx context.Context, req *domain.ListTiCDCClustersReq) (*domain.ListTiCDCClustersResp, bizerr.BizError) {
	ret := _m.Called(ctx, req)

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

	var r0 *domain.ListTiCDCClustersResp
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *domain.ListTiCDCClustersReq) (*domain.ListTiCDCClustersResp, bizerr.BizError)); ok {
		return rf(ctx, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *domain.ListTiCDCClustersReq) *domain.ListTiCDCClustersResp); ok {
		r0 = rf(ctx, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*domain.ListTiCDCClustersResp)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *domain.ListTiCDCClustersReq) bizerr.BizError); ok {
		r1 = rf(ctx, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// Query provides a mock function with given fields: ctx, req
func (_m *ClusterModel) Query(ctx context.Context, req *domain.QueryTiCDCClusterReq) (*domain.QueryTiCDCClusterResp, bizerr.BizError) {
	ret := _m.Called(ctx, req)

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

	var r0 *domain.QueryTiCDCClusterResp
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *domain.QueryTiCDCClusterReq) (*domain.QueryTiCDCClusterResp, bizerr.BizError)); ok {
		return rf(ctx, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *domain.QueryTiCDCClusterReq) *domain.QueryTiCDCClusterResp); ok {
		r0 = rf(ctx, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*domain.QueryTiCDCClusterResp)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *domain.QueryTiCDCClusterReq) bizerr.BizError); ok {
		r1 = rf(ctx, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// Restart provides a mock function with given fields: ctx, req
func (_m *ClusterModel) Restart(ctx context.Context, req *domain.RestartTiCDCClusterReq) bizerr.BizError {
	ret := _m.Called(ctx, req)

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

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

	return r0
}

// Scale provides a mock function with given fields: ctx, req
func (_m *ClusterModel) Scale(ctx context.Context, req *domain.ScaleTiCDCClusterReq) (*domain.ScaleTiCDCClusterResp, bizerr.BizError) {
	ret := _m.Called(ctx, req)

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

	var r0 *domain.ScaleTiCDCClusterResp
	var r1 bizerr.BizError
	if rf, ok := ret.Get(0).(func(context.Context, *domain.ScaleTiCDCClusterReq) (*domain.ScaleTiCDCClusterResp, bizerr.BizError)); ok {
		return rf(ctx, req)
	}
	if rf, ok := ret.Get(0).(func(context.Context, *domain.ScaleTiCDCClusterReq) *domain.ScaleTiCDCClusterResp); ok {
		r0 = rf(ctx, req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*domain.ScaleTiCDCClusterResp)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, *domain.ScaleTiCDCClusterReq) bizerr.BizError); ok {
		r1 = rf(ctx, req)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(bizerr.BizError)
		}
	}

	return r0, r1
}

// UpdateStorage provides a mock function with given fields: ctx, req
func (_m *ClusterModel) UpdateStorage(ctx context.Context, req *domain.UpdateTiCDCClusterStorageReq) bizerr.BizError {
	ret := _m.Called(ctx, req)

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

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

	return r0
}

// NewClusterModel creates a new instance of ClusterModel. 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 NewClusterModel(t interface {
	mock.TestingT
	Cleanup(func())
}) *ClusterModel {
	mock := &ClusterModel{}
	mock.Mock.Test(t)

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

	return mock
}
