// Code generated by MockGen. DO NOT EDIT.
// Source: S3Client.go
//
// Generated by this command:
//
//	mockgen -source=S3Client.go -package=mock_s3 -destination=./mock_s3/mock_S3Client.go
//

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

import (
	context "context"
	reflect "reflect"

	v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
	s3 "github.com/aws/aws-sdk-go-v2/service/s3"
	bizerr "github.com/tidbcloud/tidb-management-service/utilities/bizerr"
	gomock "go.uber.org/mock/gomock"
)

// MockAWSS3PresignClient is a mock of AWSS3PresignClient interface.
type MockAWSS3PresignClient struct {
	ctrl     *gomock.Controller
	recorder *MockAWSS3PresignClientMockRecorder
	isgomock struct{}
}

// MockAWSS3PresignClientMockRecorder is the mock recorder for MockAWSS3PresignClient.
type MockAWSS3PresignClientMockRecorder struct {
	mock *MockAWSS3PresignClient
}

// NewMockAWSS3PresignClient creates a new mock instance.
func NewMockAWSS3PresignClient(ctrl *gomock.Controller) *MockAWSS3PresignClient {
	mock := &MockAWSS3PresignClient{ctrl: ctrl}
	mock.recorder = &MockAWSS3PresignClientMockRecorder{mock}
	return mock
}

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

// PresignGetObject mocks base method.
func (m *MockAWSS3PresignClient) PresignGetObject(ctx context.Context, params *s3.GetObjectInput, optFns ...func(*s3.PresignOptions)) (*v4.PresignedHTTPRequest, bizerr.BizError) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, params}
	for _, a := range optFns {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "PresignGetObject", varargs...)
	ret0, _ := ret[0].(*v4.PresignedHTTPRequest)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// PresignGetObject indicates an expected call of PresignGetObject.
func (mr *MockAWSS3PresignClientMockRecorder) PresignGetObject(ctx, params any, optFns ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, params}, optFns...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PresignGetObject", reflect.TypeOf((*MockAWSS3PresignClient)(nil).PresignGetObject), varargs...)
}

// MockAWSS3Client is a mock of AWSS3Client interface.
type MockAWSS3Client struct {
	ctrl     *gomock.Controller
	recorder *MockAWSS3ClientMockRecorder
	isgomock struct{}
}

// MockAWSS3ClientMockRecorder is the mock recorder for MockAWSS3Client.
type MockAWSS3ClientMockRecorder struct {
	mock *MockAWSS3Client
}

// NewMockAWSS3Client creates a new mock instance.
func NewMockAWSS3Client(ctrl *gomock.Controller) *MockAWSS3Client {
	mock := &MockAWSS3Client{ctrl: ctrl}
	mock.recorder = &MockAWSS3ClientMockRecorder{mock}
	return mock
}

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

// GetObject mocks base method.
func (m *MockAWSS3Client) GetObject(ctx context.Context, params *s3.GetObjectInput, optFns ...func(*s3.Options)) (*s3.GetObjectOutput, bizerr.BizError) {
	m.ctrl.T.Helper()
	varargs := []any{ctx, params}
	for _, a := range optFns {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetObject", varargs...)
	ret0, _ := ret[0].(*s3.GetObjectOutput)
	ret1, _ := ret[1].(bizerr.BizError)
	return ret0, ret1
}

// GetObject indicates an expected call of GetObject.
func (mr *MockAWSS3ClientMockRecorder) GetObject(ctx, params any, optFns ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, params}, optFns...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetObject", reflect.TypeOf((*MockAWSS3Client)(nil).GetObject), varargs...)
}
