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

package mock

import (
	context "context"

	mock "github.com/stretchr/testify/mock"
	infraapi "github.com/tidbcloud/dataflow-service/pkg/infra-api"
)

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

// CreateCompactBackupIgnoreExists provides a mock function with given fields: ctx, cloudProvider, region, param
func (_m *CompactFacade) CreateCompactBackupIgnoreExists(ctx context.Context, cloudProvider string, region string, param *infraapi.CreateCompactBackupParam) (*infraapi.CompactBackupResponse, error) {
	ret := _m.Called(ctx, cloudProvider, region, param)

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

	var r0 *infraapi.CompactBackupResponse
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string, string, *infraapi.CreateCompactBackupParam) (*infraapi.CompactBackupResponse, error)); ok {
		return rf(ctx, cloudProvider, region, param)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string, string, *infraapi.CreateCompactBackupParam) *infraapi.CompactBackupResponse); ok {
		r0 = rf(ctx, cloudProvider, region, param)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*infraapi.CompactBackupResponse)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, string, string, *infraapi.CreateCompactBackupParam) error); ok {
		r1 = rf(ctx, cloudProvider, region, param)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteCompactBackupIgnoreNotFound provides a mock function with given fields: ctx, cloudProvider, region, tenantID, projectID, clusterID, compactBackupID
func (_m *CompactFacade) DeleteCompactBackupIgnoreNotFound(ctx context.Context, cloudProvider string, region string, tenantID uint64, projectID uint64, clusterID uint64, compactBackupID string) error {
	ret := _m.Called(ctx, cloudProvider, region, tenantID, projectID, clusterID, compactBackupID)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, string, string, uint64, uint64, uint64, string) error); ok {
		r0 = rf(ctx, cloudProvider, region, tenantID, projectID, clusterID, compactBackupID)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// GetCompactBackup provides a mock function with given fields: ctx, cloudProvider, region, tenantID, projectID, clusterID, compactBackupID
func (_m *CompactFacade) GetCompactBackup(ctx context.Context, cloudProvider string, region string, tenantID uint64, projectID uint64, clusterID uint64, compactBackupID string) (*infraapi.CompactBackupResponse, error) {
	ret := _m.Called(ctx, cloudProvider, region, tenantID, projectID, clusterID, compactBackupID)

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

	var r0 *infraapi.CompactBackupResponse
	var r1 error
	if rf, ok := ret.Get(0).(func(context.Context, string, string, uint64, uint64, uint64, string) (*infraapi.CompactBackupResponse, error)); ok {
		return rf(ctx, cloudProvider, region, tenantID, projectID, clusterID, compactBackupID)
	}
	if rf, ok := ret.Get(0).(func(context.Context, string, string, uint64, uint64, uint64, string) *infraapi.CompactBackupResponse); ok {
		r0 = rf(ctx, cloudProvider, region, tenantID, projectID, clusterID, compactBackupID)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*infraapi.CompactBackupResponse)
		}
	}

	if rf, ok := ret.Get(1).(func(context.Context, string, string, uint64, uint64, uint64, string) error); ok {
		r1 = rf(ctx, cloudProvider, region, tenantID, projectID, clusterID, compactBackupID)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

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

	return mock
}
