// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/aisupport/packages/sdk-go/infra/jira/client (interfaces: JiraClient)
//
// Generated by this command:
//
//	mockgen -destination ../../packages/sdk-go/infra/jira/client/jiracli_mock.go -package client github.com/tidbcloud/aisupport/packages/sdk-go/infra/jira/client JiraClient
//

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

import (
	context "context"
	io "io"
	reflect "reflect"

	jira "github.com/andygrunwald/go-jira"
	gomock "go.uber.org/mock/gomock"
)

// MockJiraClient is a mock of JiraClient interface.
type MockJiraClient struct {
	ctrl     *gomock.Controller
	recorder *MockJiraClientMockRecorder
	isgomock struct{}
}

// MockJiraClientMockRecorder is the mock recorder for MockJiraClient.
type MockJiraClientMockRecorder struct {
	mock *MockJiraClient
}

// NewMockJiraClient creates a new mock instance.
func NewMockJiraClient(ctrl *gomock.Controller) *MockJiraClient {
	mock := &MockJiraClient{ctrl: ctrl}
	mock.recorder = &MockJiraClientMockRecorder{mock}
	return mock
}

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

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

// AddInternalComment indicates an expected call of AddInternalComment.
func (mr *MockJiraClientMockRecorder) AddInternalComment(ctx, issueKey, body any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddInternalComment", reflect.TypeOf((*MockJiraClient)(nil).AddInternalComment), ctx, issueKey, body)
}

// AddIssueLabel mocks base method.
func (m *MockJiraClient) AddIssueLabel(ctx context.Context, issueKey, label string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddIssueLabel", ctx, issueKey, label)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddIssueLabel indicates an expected call of AddIssueLabel.
func (mr *MockJiraClientMockRecorder) AddIssueLabel(ctx, issueKey, label any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddIssueLabel", reflect.TypeOf((*MockJiraClient)(nil).AddIssueLabel), ctx, issueKey, label)
}

// CreateIssue mocks base method.
func (m *MockJiraClient) CreateIssue(ctx context.Context, issue *jira.Issue) (*jira.Issue, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateIssue", ctx, issue)
	ret0, _ := ret[0].(*jira.Issue)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateIssue indicates an expected call of CreateIssue.
func (mr *MockJiraClientMockRecorder) CreateIssue(ctx, issue any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIssue", reflect.TypeOf((*MockJiraClient)(nil).CreateIssue), ctx, issue)
}

// CreateIssueLink mocks base method.
func (m *MockJiraClient) CreateIssueLink(ctx context.Context, linkTypeID, outwardIssueKey, inwardIssueKey string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateIssueLink", ctx, linkTypeID, outwardIssueKey, inwardIssueKey)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateIssueLink indicates an expected call of CreateIssueLink.
func (mr *MockJiraClientMockRecorder) CreateIssueLink(ctx, linkTypeID, outwardIssueKey, inwardIssueKey any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateIssueLink", reflect.TypeOf((*MockJiraClient)(nil).CreateIssueLink), ctx, linkTypeID, outwardIssueKey, inwardIssueKey)
}

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

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

// DownloadAttachment mocks base method.
func (m *MockJiraClient) DownloadAttachment(ctx context.Context, attachmentID string) (io.ReadCloser, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DownloadAttachment", ctx, attachmentID)
	ret0, _ := ret[0].(io.ReadCloser)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DownloadAttachment indicates an expected call of DownloadAttachment.
func (mr *MockJiraClientMockRecorder) DownloadAttachment(ctx, attachmentID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DownloadAttachment", reflect.TypeOf((*MockJiraClient)(nil).DownloadAttachment), ctx, attachmentID)
}

// GetIssue mocks base method.
func (m *MockJiraClient) GetIssue(ctx context.Context, name string, options *jira.GetQueryOptions) (*jira.Issue, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetIssue", ctx, name, options)
	ret0, _ := ret[0].(*jira.Issue)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetIssue indicates an expected call of GetIssue.
func (mr *MockJiraClientMockRecorder) GetIssue(ctx, name, options any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetIssue", reflect.TypeOf((*MockJiraClient)(nil).GetIssue), ctx, name, options)
}

// ListIssueChangelogs mocks base method.
func (m *MockJiraClient) ListIssueChangelogs(ctx context.Context, issueKey string, options *ListIssueChangelogsOptions) (*ListIssueChangelogsResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListIssueChangelogs", ctx, issueKey, options)
	ret0, _ := ret[0].(*ListIssueChangelogsResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListIssueChangelogs indicates an expected call of ListIssueChangelogs.
func (mr *MockJiraClientMockRecorder) ListIssueChangelogs(ctx, issueKey, options any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIssueChangelogs", reflect.TypeOf((*MockJiraClient)(nil).ListIssueChangelogs), ctx, issueKey, options)
}

// ListIssueComments mocks base method.
func (m *MockJiraClient) ListIssueComments(ctx context.Context, issueKey string, options *ListIssueCommentsOptions) (*ListIssueCommentsResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListIssueComments", ctx, issueKey, options)
	ret0, _ := ret[0].(*ListIssueCommentsResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListIssueComments indicates an expected call of ListIssueComments.
func (mr *MockJiraClientMockRecorder) ListIssueComments(ctx, issueKey, options any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIssueComments", reflect.TypeOf((*MockJiraClient)(nil).ListIssueComments), ctx, issueKey, options)
}

// ListProjectComponents mocks base method.
func (m *MockJiraClient) ListProjectComponents(ctx context.Context, projectKey string) ([]ProjectComponent, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListProjectComponents", ctx, projectKey)
	ret0, _ := ret[0].([]ProjectComponent)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListProjectComponents indicates an expected call of ListProjectComponents.
func (mr *MockJiraClientMockRecorder) ListProjectComponents(ctx, projectKey any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProjectComponents", reflect.TypeOf((*MockJiraClient)(nil).ListProjectComponents), ctx, projectKey)
}

// ListVersions mocks base method.
func (m *MockJiraClient) ListVersions(ctx context.Context, project string) ([]jira.Version, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListVersions", ctx, project)
	ret0, _ := ret[0].([]jira.Version)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListVersions indicates an expected call of ListVersions.
func (mr *MockJiraClientMockRecorder) ListVersions(ctx, project any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVersions", reflect.TypeOf((*MockJiraClient)(nil).ListVersions), ctx, project)
}

// Raw mocks base method.
func (m *MockJiraClient) Raw() *jira.Client {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Raw")
	ret0, _ := ret[0].(*jira.Client)
	return ret0
}

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

// RemoveIssueLabel mocks base method.
func (m *MockJiraClient) RemoveIssueLabel(ctx context.Context, issueKey, label string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RemoveIssueLabel", ctx, issueKey, label)
	ret0, _ := ret[0].(error)
	return ret0
}

// RemoveIssueLabel indicates an expected call of RemoveIssueLabel.
func (mr *MockJiraClientMockRecorder) RemoveIssueLabel(ctx, issueKey, label any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveIssueLabel", reflect.TypeOf((*MockJiraClient)(nil).RemoveIssueLabel), ctx, issueKey, label)
}

// ResolveAccountIDByEmail mocks base method.
func (m *MockJiraClient) ResolveAccountIDByEmail(ctx context.Context, email string) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ResolveAccountIDByEmail", ctx, email)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ResolveAccountIDByEmail indicates an expected call of ResolveAccountIDByEmail.
func (mr *MockJiraClientMockRecorder) ResolveAccountIDByEmail(ctx, email any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResolveAccountIDByEmail", reflect.TypeOf((*MockJiraClient)(nil).ResolveAccountIDByEmail), ctx, email)
}

// SearchIssues mocks base method.
func (m *MockJiraClient) SearchIssues(ctx context.Context, jql string, options *SearchOptions) (*SearchResults, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SearchIssues", ctx, jql, options)
	ret0, _ := ret[0].(*SearchResults)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SearchIssues indicates an expected call of SearchIssues.
func (mr *MockJiraClientMockRecorder) SearchIssues(ctx, jql, options any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchIssues", reflect.TypeOf((*MockJiraClient)(nil).SearchIssues), ctx, jql, options)
}

// UpdateAssignee mocks base method.
func (m *MockJiraClient) UpdateAssignee(ctx context.Context, name, assignee string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateAssignee", ctx, name, assignee)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateAssignee indicates an expected call of UpdateAssignee.
func (mr *MockJiraClientMockRecorder) UpdateAssignee(ctx, name, assignee any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAssignee", reflect.TypeOf((*MockJiraClient)(nil).UpdateAssignee), ctx, name, assignee)
}

// UpdateIssueStatus mocks base method.
func (m *MockJiraClient) UpdateIssueStatus(ctx context.Context, name, status string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateIssueStatus", ctx, name, status)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateIssueStatus indicates an expected call of UpdateIssueStatus.
func (mr *MockJiraClientMockRecorder) UpdateIssueStatus(ctx, name, status any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateIssueStatus", reflect.TypeOf((*MockJiraClient)(nil).UpdateIssueStatus), ctx, name, status)
}

// UpdateL2Assignee mocks base method.
func (m *MockJiraClient) UpdateL2Assignee(ctx context.Context, name, assignee string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateL2Assignee", ctx, name, assignee)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateL2Assignee indicates an expected call of UpdateL2Assignee.
func (mr *MockJiraClientMockRecorder) UpdateL2Assignee(ctx, name, assignee any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateL2Assignee", reflect.TypeOf((*MockJiraClient)(nil).UpdateL2Assignee), ctx, name, assignee)
}

// UploadAttachment mocks base method.
func (m *MockJiraClient) UploadAttachment(ctx context.Context, issueKey, filename string, content io.Reader) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UploadAttachment", ctx, issueKey, filename, content)
	ret0, _ := ret[0].(error)
	return ret0
}

// UploadAttachment indicates an expected call of UploadAttachment.
func (mr *MockJiraClientMockRecorder) UploadAttachment(ctx, issueKey, filename, content any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UploadAttachment", reflect.TypeOf((*MockJiraClient)(nil).UploadAttachment), ctx, issueKey, filename, content)
}
