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

package testing

import (
	reflect "reflect"

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

// MockDeploymentsServiceInterface is a mock of DeploymentsServiceInterface interface.
type MockDeploymentsServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockDeploymentsServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockDeploymentsServiceInterfaceMockRecorder is the mock recorder for MockDeploymentsServiceInterface.
type MockDeploymentsServiceInterfaceMockRecorder struct {
	mock *MockDeploymentsServiceInterface
}

// NewMockDeploymentsServiceInterface creates a new mock instance.
func NewMockDeploymentsServiceInterface(ctrl *gomock.Controller) *MockDeploymentsServiceInterface {
	mock := &MockDeploymentsServiceInterface{ctrl: ctrl}
	mock.recorder = &MockDeploymentsServiceInterfaceMockRecorder{mock}
	return mock
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeleteProjectDeployment indicates an expected call of DeleteProjectDeployment.
func (mr *MockDeploymentsServiceInterfaceMockRecorder) DeleteProjectDeployment(pid, deployment any, options ...any) *MockDeploymentsServiceInterfaceDeleteProjectDeploymentCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, deployment}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProjectDeployment", reflect.TypeOf((*MockDeploymentsServiceInterface)(nil).DeleteProjectDeployment), varargs...)
	return &MockDeploymentsServiceInterfaceDeleteProjectDeploymentCall{Call: call}
}

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

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

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

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

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

// GetProjectDeployment indicates an expected call of GetProjectDeployment.
func (mr *MockDeploymentsServiceInterfaceMockRecorder) GetProjectDeployment(pid, deployment any, options ...any) *MockDeploymentsServiceInterfaceGetProjectDeploymentCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, deployment}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProjectDeployment", reflect.TypeOf((*MockDeploymentsServiceInterface)(nil).GetProjectDeployment), varargs...)
	return &MockDeploymentsServiceInterfaceGetProjectDeploymentCall{Call: call}
}

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

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

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

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

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

// ListProjectDeployments indicates an expected call of ListProjectDeployments.
func (mr *MockDeploymentsServiceInterfaceMockRecorder) ListProjectDeployments(pid, opts any, options ...any) *MockDeploymentsServiceInterfaceListProjectDeploymentsCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, opts}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProjectDeployments", reflect.TypeOf((*MockDeploymentsServiceInterface)(nil).ListProjectDeployments), varargs...)
	return &MockDeploymentsServiceInterfaceListProjectDeploymentsCall{Call: call}
}

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

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

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

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

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockDeploymentsServiceInterfaceUpdateProjectDeploymentCall) Do(f func(any, int64, *gitlab.UpdateProjectDeploymentOptions, ...gitlab.RequestOptionFunc) (*gitlab.Deployment, *gitlab.Response, error)) *MockDeploymentsServiceInterfaceUpdateProjectDeploymentCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockDeploymentsServiceInterfaceUpdateProjectDeploymentCall) DoAndReturn(f func(any, int64, *gitlab.UpdateProjectDeploymentOptions, ...gitlab.RequestOptionFunc) (*gitlab.Deployment, *gitlab.Response, error)) *MockDeploymentsServiceInterfaceUpdateProjectDeploymentCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
