// Code generated by MockGen. DO NOT EDIT.
// Source: gitlab.com/gitlab-org/api/client-go (interfaces: ExternalStatusChecksServiceInterface)
//
// Generated by this command:
//
//	mockgen -typed -destination=external_status_checks_mock.go -package=testing gitlab.com/gitlab-org/api/client-go ExternalStatusChecksServiceInterface
//

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

import (
	reflect "reflect"

	gitlab "gitlab.com/gitlab-org/api/client-go"
	gomock "go.uber.org/mock/gomock"
)

// MockExternalStatusChecksServiceInterface is a mock of ExternalStatusChecksServiceInterface interface.
type MockExternalStatusChecksServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockExternalStatusChecksServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockExternalStatusChecksServiceInterfaceMockRecorder is the mock recorder for MockExternalStatusChecksServiceInterface.
type MockExternalStatusChecksServiceInterfaceMockRecorder struct {
	mock *MockExternalStatusChecksServiceInterface
}

// NewMockExternalStatusChecksServiceInterface creates a new mock instance.
func NewMockExternalStatusChecksServiceInterface(ctrl *gomock.Controller) *MockExternalStatusChecksServiceInterface {
	mock := &MockExternalStatusChecksServiceInterface{ctrl: ctrl}
	mock.recorder = &MockExternalStatusChecksServiceInterfaceMockRecorder{mock}
	return mock
}

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

// CreateExternalStatusCheck mocks base method.
func (m *MockExternalStatusChecksServiceInterface) CreateExternalStatusCheck(pid any, opt *gitlab.CreateExternalStatusCheckOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CreateExternalStatusCheck", varargs...)
	ret0, _ := ret[0].(*gitlab.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateExternalStatusCheck indicates an expected call of CreateExternalStatusCheck.
func (mr *MockExternalStatusChecksServiceInterfaceMockRecorder) CreateExternalStatusCheck(pid, opt any, options ...any) *MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateExternalStatusCheck", reflect.TypeOf((*MockExternalStatusChecksServiceInterface)(nil).CreateExternalStatusCheck), varargs...)
	return &MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall{Call: call}
}

// MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall wrap *gomock.Call
type MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall) Return(arg0 *gitlab.Response, arg1 error) *MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall) Do(f func(any, *gitlab.CreateExternalStatusCheckOptions, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall) DoAndReturn(f func(any, *gitlab.CreateExternalStatusCheckOptions, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceCreateExternalStatusCheckCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// DeleteExternalStatusCheck mocks base method.
func (m *MockExternalStatusChecksServiceInterface) DeleteExternalStatusCheck(pid any, check int, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, check}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DeleteExternalStatusCheck", varargs...)
	ret0, _ := ret[0].(*gitlab.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DeleteExternalStatusCheck indicates an expected call of DeleteExternalStatusCheck.
func (mr *MockExternalStatusChecksServiceInterfaceMockRecorder) DeleteExternalStatusCheck(pid, check any, options ...any) *MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, check}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteExternalStatusCheck", reflect.TypeOf((*MockExternalStatusChecksServiceInterface)(nil).DeleteExternalStatusCheck), varargs...)
	return &MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall{Call: call}
}

// MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall wrap *gomock.Call
type MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall) Return(arg0 *gitlab.Response, arg1 error) *MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall) Do(f func(any, int, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall) DoAndReturn(f func(any, int, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceDeleteExternalStatusCheckCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ListMergeStatusChecks mocks base method.
func (m *MockExternalStatusChecksServiceInterface) ListMergeStatusChecks(pid any, mr int, opt *gitlab.ListOptions, options ...gitlab.RequestOptionFunc) ([]*gitlab.MergeStatusCheck, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, mr, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListMergeStatusChecks", varargs...)
	ret0, _ := ret[0].([]*gitlab.MergeStatusCheck)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListMergeStatusChecks indicates an expected call of ListMergeStatusChecks.
func (mr_2 *MockExternalStatusChecksServiceInterfaceMockRecorder) ListMergeStatusChecks(pid, mr, opt any, options ...any) *MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall {
	mr_2.mock.ctrl.T.Helper()
	varargs := append([]any{pid, mr, opt}, options...)
	call := mr_2.mock.ctrl.RecordCallWithMethodType(mr_2.mock, "ListMergeStatusChecks", reflect.TypeOf((*MockExternalStatusChecksServiceInterface)(nil).ListMergeStatusChecks), varargs...)
	return &MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall{Call: call}
}

// MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall wrap *gomock.Call
type MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall) Return(arg0 []*gitlab.MergeStatusCheck, arg1 *gitlab.Response, arg2 error) *MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall) Do(f func(any, int, *gitlab.ListOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.MergeStatusCheck, *gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall) DoAndReturn(f func(any, int, *gitlab.ListOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.MergeStatusCheck, *gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceListMergeStatusChecksCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ListProjectStatusChecks mocks base method.
func (m *MockExternalStatusChecksServiceInterface) ListProjectStatusChecks(pid any, opt *gitlab.ListOptions, options ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectStatusCheck, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListProjectStatusChecks", varargs...)
	ret0, _ := ret[0].([]*gitlab.ProjectStatusCheck)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListProjectStatusChecks indicates an expected call of ListProjectStatusChecks.
func (mr *MockExternalStatusChecksServiceInterfaceMockRecorder) ListProjectStatusChecks(pid, opt any, options ...any) *MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProjectStatusChecks", reflect.TypeOf((*MockExternalStatusChecksServiceInterface)(nil).ListProjectStatusChecks), varargs...)
	return &MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall{Call: call}
}

// MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall wrap *gomock.Call
type MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall) Return(arg0 []*gitlab.ProjectStatusCheck, arg1 *gitlab.Response, arg2 error) *MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall) Do(f func(any, *gitlab.ListOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectStatusCheck, *gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall) DoAndReturn(f func(any, *gitlab.ListOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectStatusCheck, *gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceListProjectStatusChecksCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// RetryFailedStatusCheckForAMergeRequest mocks base method.
func (m *MockExternalStatusChecksServiceInterface) RetryFailedStatusCheckForAMergeRequest(pid any, mergeRequest, externalStatusCheck int, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, mergeRequest, externalStatusCheck}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "RetryFailedStatusCheckForAMergeRequest", varargs...)
	ret0, _ := ret[0].(*gitlab.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RetryFailedStatusCheckForAMergeRequest indicates an expected call of RetryFailedStatusCheckForAMergeRequest.
func (mr *MockExternalStatusChecksServiceInterfaceMockRecorder) RetryFailedStatusCheckForAMergeRequest(pid, mergeRequest, externalStatusCheck any, options ...any) *MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, mergeRequest, externalStatusCheck}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RetryFailedStatusCheckForAMergeRequest", reflect.TypeOf((*MockExternalStatusChecksServiceInterface)(nil).RetryFailedStatusCheckForAMergeRequest), varargs...)
	return &MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall{Call: call}
}

// MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall wrap *gomock.Call
type MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall) Return(arg0 *gitlab.Response, arg1 error) *MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall) Do(f func(any, int, int, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall) DoAndReturn(f func(any, int, int, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceRetryFailedStatusCheckForAMergeRequestCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// SetExternalStatusCheckStatus mocks base method.
func (m *MockExternalStatusChecksServiceInterface) SetExternalStatusCheckStatus(pid any, mergeRequest int, opt *gitlab.SetExternalStatusCheckStatusOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, mergeRequest, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "SetExternalStatusCheckStatus", varargs...)
	ret0, _ := ret[0].(*gitlab.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SetExternalStatusCheckStatus indicates an expected call of SetExternalStatusCheckStatus.
func (mr *MockExternalStatusChecksServiceInterfaceMockRecorder) SetExternalStatusCheckStatus(pid, mergeRequest, opt any, options ...any) *MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, mergeRequest, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetExternalStatusCheckStatus", reflect.TypeOf((*MockExternalStatusChecksServiceInterface)(nil).SetExternalStatusCheckStatus), varargs...)
	return &MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall{Call: call}
}

// MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall wrap *gomock.Call
type MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall) Return(arg0 *gitlab.Response, arg1 error) *MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall) Do(f func(any, int, *gitlab.SetExternalStatusCheckStatusOptions, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall) DoAndReturn(f func(any, int, *gitlab.SetExternalStatusCheckStatusOptions, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceSetExternalStatusCheckStatusCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// UpdateExternalStatusCheck mocks base method.
func (m *MockExternalStatusChecksServiceInterface) UpdateExternalStatusCheck(pid any, check int, opt *gitlab.UpdateExternalStatusCheckOptions, options ...gitlab.RequestOptionFunc) (*gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{pid, check, opt}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "UpdateExternalStatusCheck", varargs...)
	ret0, _ := ret[0].(*gitlab.Response)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// UpdateExternalStatusCheck indicates an expected call of UpdateExternalStatusCheck.
func (mr *MockExternalStatusChecksServiceInterfaceMockRecorder) UpdateExternalStatusCheck(pid, check, opt any, options ...any) *MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, check, opt}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateExternalStatusCheck", reflect.TypeOf((*MockExternalStatusChecksServiceInterface)(nil).UpdateExternalStatusCheck), varargs...)
	return &MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall{Call: call}
}

// MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall wrap *gomock.Call
type MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall) Return(arg0 *gitlab.Response, arg1 error) *MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall) Do(f func(any, int, *gitlab.UpdateExternalStatusCheckOptions, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall) DoAndReturn(f func(any, int, *gitlab.UpdateExternalStatusCheckOptions, ...gitlab.RequestOptionFunc) (*gitlab.Response, error)) *MockExternalStatusChecksServiceInterfaceUpdateExternalStatusCheckCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
