// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/aws/eks-distro-build-tooling/tools/eksDistroBuildToolingOpsTools/pkg/github (interfaces: GitClient,IssueClient,RepoClient,PullRequestClient)

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	github "github.com/google/go-github/v48/github"
)

// MockGitClient is a mock of GitClient interface.
type MockGitClient struct {
	ctrl     *gomock.Controller
	recorder *MockGitClientMockRecorder
}

// MockGitClientMockRecorder is the mock recorder for MockGitClient.
type MockGitClientMockRecorder struct {
	mock *MockGitClient
}

// NewMockGitClient creates a new mock instance.
func NewMockGitClient(ctrl *gomock.Controller) *MockGitClient {
	mock := &MockGitClient{ctrl: ctrl}
	mock.recorder = &MockGitClientMockRecorder{mock}
	return mock
}

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

// CreateCommit mocks base method.
func (m *MockGitClient) CreateCommit(arg0 context.Context, arg1, arg2 string, arg3 *github.Commit) (*github.Commit, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateCommit", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*github.Commit)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CreateCommit indicates an expected call of CreateCommit.
func (mr *MockGitClientMockRecorder) CreateCommit(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCommit", reflect.TypeOf((*MockGitClient)(nil).CreateCommit), arg0, arg1, arg2, arg3)
}

// CreateRef mocks base method.
func (m *MockGitClient) CreateRef(arg0 context.Context, arg1, arg2 string, arg3 *github.Reference) (*github.Reference, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateRef", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*github.Reference)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CreateRef indicates an expected call of CreateRef.
func (mr *MockGitClientMockRecorder) CreateRef(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRef", reflect.TypeOf((*MockGitClient)(nil).CreateRef), arg0, arg1, arg2, arg3)
}

// CreateTree mocks base method.
func (m *MockGitClient) CreateTree(arg0 context.Context, arg1, arg2, arg3 string, arg4 []*github.TreeEntry) (*github.Tree, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateTree", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(*github.Tree)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// CreateTree indicates an expected call of CreateTree.
func (mr *MockGitClientMockRecorder) CreateTree(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateTree", reflect.TypeOf((*MockGitClient)(nil).CreateTree), arg0, arg1, arg2, arg3, arg4)
}

// GetRef mocks base method.
func (m *MockGitClient) GetRef(arg0 context.Context, arg1, arg2, arg3 string) (*github.Reference, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetRef", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*github.Reference)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// GetRef indicates an expected call of GetRef.
func (mr *MockGitClientMockRecorder) GetRef(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRef", reflect.TypeOf((*MockGitClient)(nil).GetRef), arg0, arg1, arg2, arg3)
}

// UpdateRef mocks base method.
func (m *MockGitClient) UpdateRef(arg0 context.Context, arg1, arg2 string, arg3 *github.Reference, arg4 bool) (*github.Reference, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateRef", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(*github.Reference)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// UpdateRef indicates an expected call of UpdateRef.
func (mr *MockGitClientMockRecorder) UpdateRef(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRef", reflect.TypeOf((*MockGitClient)(nil).UpdateRef), arg0, arg1, arg2, arg3, arg4)
}

// MockIssueClient is a mock of IssueClient interface.
type MockIssueClient struct {
	ctrl     *gomock.Controller
	recorder *MockIssueClientMockRecorder
}

// MockIssueClientMockRecorder is the mock recorder for MockIssueClient.
type MockIssueClientMockRecorder struct {
	mock *MockIssueClient
}

// NewMockIssueClient creates a new mock instance.
func NewMockIssueClient(ctrl *gomock.Controller) *MockIssueClient {
	mock := &MockIssueClient{ctrl: ctrl}
	mock.recorder = &MockIssueClientMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockIssueClient) Create(arg0 context.Context, arg1, arg2 string, arg3 *github.IssueRequest) (*github.Issue, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*github.Issue)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Create indicates an expected call of Create.
func (mr *MockIssueClientMockRecorder) Create(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockIssueClient)(nil).Create), arg0, arg1, arg2, arg3)
}

// Get mocks base method.
func (m *MockIssueClient) Get(arg0 context.Context, arg1, arg2 string, arg3 int) (*github.Issue, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*github.Issue)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Get indicates an expected call of Get.
func (mr *MockIssueClientMockRecorder) Get(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockIssueClient)(nil).Get), arg0, arg1, arg2, arg3)
}

// MockRepoClient is a mock of RepoClient interface.
type MockRepoClient struct {
	ctrl     *gomock.Controller
	recorder *MockRepoClientMockRecorder
}

// MockRepoClientMockRecorder is the mock recorder for MockRepoClient.
type MockRepoClientMockRecorder struct {
	mock *MockRepoClient
}

// NewMockRepoClient creates a new mock instance.
func NewMockRepoClient(ctrl *gomock.Controller) *MockRepoClient {
	mock := &MockRepoClient{ctrl: ctrl}
	mock.recorder = &MockRepoClientMockRecorder{mock}
	return mock
}

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

// GetCommit mocks base method.
func (m *MockRepoClient) GetCommit(arg0 context.Context, arg1, arg2, arg3 string, arg4 *github.ListOptions) (*github.RepositoryCommit, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetCommit", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(*github.RepositoryCommit)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// GetCommit indicates an expected call of GetCommit.
func (mr *MockRepoClientMockRecorder) GetCommit(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCommit", reflect.TypeOf((*MockRepoClient)(nil).GetCommit), arg0, arg1, arg2, arg3, arg4)
}

// GetContents mocks base method.
func (m *MockRepoClient) GetContents(arg0 context.Context, arg1, arg2, arg3 string, arg4 *github.RepositoryContentGetOptions) (*github.RepositoryContent, []*github.RepositoryContent, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetContents", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(*github.RepositoryContent)
	ret1, _ := ret[1].([]*github.RepositoryContent)
	ret2, _ := ret[2].(*github.Response)
	ret3, _ := ret[3].(error)
	return ret0, ret1, ret2, ret3
}

// GetContents indicates an expected call of GetContents.
func (mr *MockRepoClientMockRecorder) GetContents(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetContents", reflect.TypeOf((*MockRepoClient)(nil).GetContents), arg0, arg1, arg2, arg3, arg4)
}

// MockPullRequestClient is a mock of PullRequestClient interface.
type MockPullRequestClient struct {
	ctrl     *gomock.Controller
	recorder *MockPullRequestClientMockRecorder
}

// MockPullRequestClientMockRecorder is the mock recorder for MockPullRequestClient.
type MockPullRequestClientMockRecorder struct {
	mock *MockPullRequestClient
}

// NewMockPullRequestClient creates a new mock instance.
func NewMockPullRequestClient(ctrl *gomock.Controller) *MockPullRequestClient {
	mock := &MockPullRequestClient{ctrl: ctrl}
	mock.recorder = &MockPullRequestClientMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockPullRequestClient) Create(arg0 context.Context, arg1, arg2 string, arg3 *github.NewPullRequest) (*github.PullRequest, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Create", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*github.PullRequest)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Create indicates an expected call of Create.
func (mr *MockPullRequestClientMockRecorder) Create(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockPullRequestClient)(nil).Create), arg0, arg1, arg2, arg3)
}

// Get mocks base method.
func (m *MockPullRequestClient) Get(arg0 context.Context, arg1, arg2 string, arg3 int) (*github.PullRequest, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(*github.PullRequest)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Get indicates an expected call of Get.
func (mr *MockPullRequestClientMockRecorder) Get(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockPullRequestClient)(nil).Get), arg0, arg1, arg2, arg3)
}

// List mocks base method.
func (m *MockPullRequestClient) List(arg0 context.Context, arg1, arg2 string, arg3 *github.PullRequestListOptions) ([]*github.PullRequest, *github.Response, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].([]*github.PullRequest)
	ret1, _ := ret[1].(*github.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// List indicates an expected call of List.
func (mr *MockPullRequestClientMockRecorder) List(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockPullRequestClient)(nil).List), arg0, arg1, arg2, arg3)
}
