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

package testing

import (
	io "io"
	reflect "reflect"

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

// MockSecureFilesServiceInterface is a mock of SecureFilesServiceInterface interface.
type MockSecureFilesServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockSecureFilesServiceInterfaceMockRecorder
	isgomock struct{}
}

// MockSecureFilesServiceInterfaceMockRecorder is the mock recorder for MockSecureFilesServiceInterface.
type MockSecureFilesServiceInterfaceMockRecorder struct {
	mock *MockSecureFilesServiceInterface
}

// NewMockSecureFilesServiceInterface creates a new mock instance.
func NewMockSecureFilesServiceInterface(ctrl *gomock.Controller) *MockSecureFilesServiceInterface {
	mock := &MockSecureFilesServiceInterface{ctrl: ctrl}
	mock.recorder = &MockSecureFilesServiceInterfaceMockRecorder{mock}
	return mock
}

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

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

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

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

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

// Do rewrite *gomock.Call.Do
func (c *MockSecureFilesServiceInterfaceCreateSecureFileCall) Do(f func(any, io.Reader, *gitlab.CreateSecureFileOptions, ...gitlab.RequestOptionFunc) (*gitlab.SecureFile, *gitlab.Response, error)) *MockSecureFilesServiceInterfaceCreateSecureFileCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockSecureFilesServiceInterfaceCreateSecureFileCall) DoAndReturn(f func(any, io.Reader, *gitlab.CreateSecureFileOptions, ...gitlab.RequestOptionFunc) (*gitlab.SecureFile, *gitlab.Response, error)) *MockSecureFilesServiceInterfaceCreateSecureFileCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

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

// DownloadSecureFile indicates an expected call of DownloadSecureFile.
func (mr *MockSecureFilesServiceInterfaceMockRecorder) DownloadSecureFile(pid, id any, options ...any) *MockSecureFilesServiceInterfaceDownloadSecureFileCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, id}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DownloadSecureFile", reflect.TypeOf((*MockSecureFilesServiceInterface)(nil).DownloadSecureFile), varargs...)
	return &MockSecureFilesServiceInterfaceDownloadSecureFileCall{Call: call}
}

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

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

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

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

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

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

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

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

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

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

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

// RemoveSecureFile indicates an expected call of RemoveSecureFile.
func (mr *MockSecureFilesServiceInterfaceMockRecorder) RemoveSecureFile(pid, id any, options ...any) *MockSecureFilesServiceInterfaceRemoveSecureFileCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, id}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveSecureFile", reflect.TypeOf((*MockSecureFilesServiceInterface)(nil).RemoveSecureFile), varargs...)
	return &MockSecureFilesServiceInterfaceRemoveSecureFileCall{Call: call}
}

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

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

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

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

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

// ShowSecureFileDetails indicates an expected call of ShowSecureFileDetails.
func (mr *MockSecureFilesServiceInterfaceMockRecorder) ShowSecureFileDetails(pid, id any, options ...any) *MockSecureFilesServiceInterfaceShowSecureFileDetailsCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{pid, id}, options...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShowSecureFileDetails", reflect.TypeOf((*MockSecureFilesServiceInterface)(nil).ShowSecureFileDetails), varargs...)
	return &MockSecureFilesServiceInterfaceShowSecureFileDetailsCall{Call: call}
}

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

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

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

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