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

package testing

import (
	reflect "reflect"

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

// MockProjectRepositoryStorageMoveServiceInterface is a mock of ProjectRepositoryStorageMoveServiceInterface interface.
type MockProjectRepositoryStorageMoveServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockProjectRepositoryStorageMoveServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockProjectRepositoryStorageMoveServiceInterfaceMockRecorder is the mock recorder for MockProjectRepositoryStorageMoveServiceInterface.
type MockProjectRepositoryStorageMoveServiceInterfaceMockRecorder struct {
	mock *MockProjectRepositoryStorageMoveServiceInterface
}

// NewMockProjectRepositoryStorageMoveServiceInterface creates a new mock instance.
func NewMockProjectRepositoryStorageMoveServiceInterface(ctrl *gomock.Controller) *MockProjectRepositoryStorageMoveServiceInterface {
	mock := &MockProjectRepositoryStorageMoveServiceInterface{ctrl: ctrl}
	mock.recorder = &MockProjectRepositoryStorageMoveServiceInterfaceMockRecorder{mock}
	return mock
}

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

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

// GetStorageMove indicates an expected call of GetStorageMove.
func (mr *MockProjectRepositoryStorageMoveServiceInterfaceMockRecorder) GetStorageMove(repositoryStorage any, options ...any) *MockProjectRepositoryStorageMoveServiceInterfaceGetStorageMoveCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{repositoryStorage}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetStorageMove", reflect.TypeOf((*MockProjectRepositoryStorageMoveServiceInterface)(nil).GetStorageMove), varargs...)
	return &MockProjectRepositoryStorageMoveServiceInterfaceGetStorageMoveCall{Call: call}
}

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

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

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

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

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

// GetStorageMoveForProject indicates an expected call of GetStorageMoveForProject.
func (mr *MockProjectRepositoryStorageMoveServiceInterfaceMockRecorder) GetStorageMoveForProject(project, repositoryStorage any, options ...any) *MockProjectRepositoryStorageMoveServiceInterfaceGetStorageMoveForProjectCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{project, repositoryStorage}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetStorageMoveForProject", reflect.TypeOf((*MockProjectRepositoryStorageMoveServiceInterface)(nil).GetStorageMoveForProject), varargs...)
	return &MockProjectRepositoryStorageMoveServiceInterfaceGetStorageMoveForProjectCall{Call: call}
}

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

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

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

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

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesCall) Do(f func(gitlab.RetrieveAllProjectStorageMovesOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectRepositoryStorageMove, *gitlab.Response, error)) *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesCall) DoAndReturn(f func(gitlab.RetrieveAllProjectStorageMovesOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectRepositoryStorageMove, *gitlab.Response, error)) *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// RetrieveAllStorageMovesForProject mocks base method.
func (m *MockProjectRepositoryStorageMoveServiceInterface) RetrieveAllStorageMovesForProject(project int64, opts gitlab.RetrieveAllProjectStorageMovesOptions, options ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectRepositoryStorageMove, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{project, opts}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "RetrieveAllStorageMovesForProject", varargs...)
	ret0, _ := ret[0].([]*gitlab.ProjectRepositoryStorageMove)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// RetrieveAllStorageMovesForProject indicates an expected call of RetrieveAllStorageMovesForProject.
func (mr *MockProjectRepositoryStorageMoveServiceInterfaceMockRecorder) RetrieveAllStorageMovesForProject(project, opts any, options ...any) *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesForProjectCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{project, opts}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RetrieveAllStorageMovesForProject", reflect.TypeOf((*MockProjectRepositoryStorageMoveServiceInterface)(nil).RetrieveAllStorageMovesForProject), varargs...)
	return &MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesForProjectCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesForProjectCall) Do(f func(int64, gitlab.RetrieveAllProjectStorageMovesOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectRepositoryStorageMove, *gitlab.Response, error)) *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesForProjectCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesForProjectCall) DoAndReturn(f func(int64, gitlab.RetrieveAllProjectStorageMovesOptions, ...gitlab.RequestOptionFunc) ([]*gitlab.ProjectRepositoryStorageMove, *gitlab.Response, error)) *MockProjectRepositoryStorageMoveServiceInterfaceRetrieveAllStorageMovesForProjectCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

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

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

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

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

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

// ScheduleStorageMoveForProject mocks base method.
func (m *MockProjectRepositoryStorageMoveServiceInterface) ScheduleStorageMoveForProject(project int64, opts gitlab.ScheduleStorageMoveForProjectOptions, options ...gitlab.RequestOptionFunc) (*gitlab.ProjectRepositoryStorageMove, *gitlab.Response, error) {
	m.ctrl.T.Helper()
	varargs := []any{project, opts}
	for _, a := range options {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ScheduleStorageMoveForProject", varargs...)
	ret0, _ := ret[0].(*gitlab.ProjectRepositoryStorageMove)
	ret1, _ := ret[1].(*gitlab.Response)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ScheduleStorageMoveForProject indicates an expected call of ScheduleStorageMoveForProject.
func (mr *MockProjectRepositoryStorageMoveServiceInterfaceMockRecorder) ScheduleStorageMoveForProject(project, opts any, options ...any) *MockProjectRepositoryStorageMoveServiceInterfaceScheduleStorageMoveForProjectCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{project, opts}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScheduleStorageMoveForProject", reflect.TypeOf((*MockProjectRepositoryStorageMoveServiceInterface)(nil).ScheduleStorageMoveForProject), varargs...)
	return &MockProjectRepositoryStorageMoveServiceInterfaceScheduleStorageMoveForProjectCall{Call: call}
}

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

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

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

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