// Code generated by MockGen. DO NOT EDIT.
// Source: gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/module/gitlab_access/rpc (interfaces: GitlabAccess_MakeRequestServer)
//
// Generated by this command:
//
//	mockgen -typed -destination gitlab_access.go -package mock_rpc gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/module/gitlab_access/rpc GitlabAccess_MakeRequestServer
//

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

import (
	context "context"
	reflect "reflect"

	grpctool "gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18/internal/tool/grpctool"
	gomock "go.uber.org/mock/gomock"
	metadata "google.golang.org/grpc/metadata"
)

// MockGitlabAccess_MakeRequestServer is a mock of GitlabAccess_MakeRequestServer interface.
type MockGitlabAccess_MakeRequestServer[Req any, Res any] struct {
	ctrl     *gomock.Controller
	recorder *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]
	isgomock struct{}
}

// MockGitlabAccess_MakeRequestServerMockRecorder is the mock recorder for MockGitlabAccess_MakeRequestServer.
type MockGitlabAccess_MakeRequestServerMockRecorder[Req any, Res any] struct {
	mock *MockGitlabAccess_MakeRequestServer[Req, Res]
}

// NewMockGitlabAccess_MakeRequestServer creates a new mock instance.
func NewMockGitlabAccess_MakeRequestServer[Req any, Res any](ctrl *gomock.Controller) *MockGitlabAccess_MakeRequestServer[Req, Res] {
	mock := &MockGitlabAccess_MakeRequestServer[Req, Res]{ctrl: ctrl}
	mock.recorder = &MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockGitlabAccess_MakeRequestServer[Req, Res]) EXPECT() *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res] {
	return m.recorder
}

// Context mocks base method.
func (m *MockGitlabAccess_MakeRequestServer[Req, Res]) Context() context.Context {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Context")
	ret0, _ := ret[0].(context.Context)
	return ret0
}

// Context indicates an expected call of Context.
func (mr *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]) Context() *MockGitlabAccess_MakeRequestServerContextCall[Req, Res] {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Context", reflect.TypeOf((*MockGitlabAccess_MakeRequestServer[Req, Res])(nil).Context))
	return &MockGitlabAccess_MakeRequestServerContextCall[Req, Res]{Call: call}
}

// MockGitlabAccess_MakeRequestServerContextCall wrap *gomock.Call
type MockGitlabAccess_MakeRequestServerContextCall[Req any, Res any] struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockGitlabAccess_MakeRequestServerContextCall[Req, Res]) Return(arg0 context.Context) *MockGitlabAccess_MakeRequestServerContextCall[Req, Res] {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockGitlabAccess_MakeRequestServerContextCall[Req, Res]) Do(f func() context.Context) *MockGitlabAccess_MakeRequestServerContextCall[Req, Res] {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitlabAccess_MakeRequestServerContextCall[Req, Res]) DoAndReturn(f func() context.Context) *MockGitlabAccess_MakeRequestServerContextCall[Req, Res] {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Recv mocks base method.
func (m *MockGitlabAccess_MakeRequestServer[Req, Res]) Recv() (*grpctool.HttpRequest, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Recv")
	ret0, _ := ret[0].(*grpctool.HttpRequest)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Recv indicates an expected call of Recv.
func (mr *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]) Recv() *MockGitlabAccess_MakeRequestServerRecvCall[Req, Res] {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Recv", reflect.TypeOf((*MockGitlabAccess_MakeRequestServer[Req, Res])(nil).Recv))
	return &MockGitlabAccess_MakeRequestServerRecvCall[Req, Res]{Call: call}
}

// MockGitlabAccess_MakeRequestServerRecvCall wrap *gomock.Call
type MockGitlabAccess_MakeRequestServerRecvCall[Req any, Res any] struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockGitlabAccess_MakeRequestServerRecvCall[Req, Res]) Return(arg0 *grpctool.HttpRequest, arg1 error) *MockGitlabAccess_MakeRequestServerRecvCall[Req, Res] {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockGitlabAccess_MakeRequestServerRecvCall[Req, Res]) Do(f func() (*grpctool.HttpRequest, error)) *MockGitlabAccess_MakeRequestServerRecvCall[Req, Res] {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitlabAccess_MakeRequestServerRecvCall[Req, Res]) DoAndReturn(f func() (*grpctool.HttpRequest, error)) *MockGitlabAccess_MakeRequestServerRecvCall[Req, Res] {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// RecvMsg mocks base method.
func (m_2 *MockGitlabAccess_MakeRequestServer[Req, Res]) RecvMsg(m any) error {
	m_2.ctrl.T.Helper()
	ret := m_2.ctrl.Call(m_2, "RecvMsg", m)
	ret0, _ := ret[0].(error)
	return ret0
}

// RecvMsg indicates an expected call of RecvMsg.
func (mr *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]) RecvMsg(m any) *MockGitlabAccess_MakeRequestServerRecvMsgCall[Req, Res] {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockGitlabAccess_MakeRequestServer[Req, Res])(nil).RecvMsg), m)
	return &MockGitlabAccess_MakeRequestServerRecvMsgCall[Req, Res]{Call: call}
}

// MockGitlabAccess_MakeRequestServerRecvMsgCall wrap *gomock.Call
type MockGitlabAccess_MakeRequestServerRecvMsgCall[Req any, Res any] struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockGitlabAccess_MakeRequestServerRecvMsgCall[Req, Res]) Return(arg0 error) *MockGitlabAccess_MakeRequestServerRecvMsgCall[Req, Res] {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockGitlabAccess_MakeRequestServerRecvMsgCall[Req, Res]) Do(f func(any) error) *MockGitlabAccess_MakeRequestServerRecvMsgCall[Req, Res] {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitlabAccess_MakeRequestServerRecvMsgCall[Req, Res]) DoAndReturn(f func(any) error) *MockGitlabAccess_MakeRequestServerRecvMsgCall[Req, Res] {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Send mocks base method.
func (m *MockGitlabAccess_MakeRequestServer[Req, Res]) Send(arg0 *grpctool.HttpResponse) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Send", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

// Send indicates an expected call of Send.
func (mr *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]) Send(arg0 any) *MockGitlabAccess_MakeRequestServerSendCall[Req, Res] {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockGitlabAccess_MakeRequestServer[Req, Res])(nil).Send), arg0)
	return &MockGitlabAccess_MakeRequestServerSendCall[Req, Res]{Call: call}
}

// MockGitlabAccess_MakeRequestServerSendCall wrap *gomock.Call
type MockGitlabAccess_MakeRequestServerSendCall[Req any, Res any] struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockGitlabAccess_MakeRequestServerSendCall[Req, Res]) Return(arg0 error) *MockGitlabAccess_MakeRequestServerSendCall[Req, Res] {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockGitlabAccess_MakeRequestServerSendCall[Req, Res]) Do(f func(*grpctool.HttpResponse) error) *MockGitlabAccess_MakeRequestServerSendCall[Req, Res] {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitlabAccess_MakeRequestServerSendCall[Req, Res]) DoAndReturn(f func(*grpctool.HttpResponse) error) *MockGitlabAccess_MakeRequestServerSendCall[Req, Res] {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// SendHeader mocks base method.
func (m *MockGitlabAccess_MakeRequestServer[Req, Res]) SendHeader(arg0 metadata.MD) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SendHeader", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

// SendHeader indicates an expected call of SendHeader.
func (mr *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]) SendHeader(arg0 any) *MockGitlabAccess_MakeRequestServerSendHeaderCall[Req, Res] {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockGitlabAccess_MakeRequestServer[Req, Res])(nil).SendHeader), arg0)
	return &MockGitlabAccess_MakeRequestServerSendHeaderCall[Req, Res]{Call: call}
}

// MockGitlabAccess_MakeRequestServerSendHeaderCall wrap *gomock.Call
type MockGitlabAccess_MakeRequestServerSendHeaderCall[Req any, Res any] struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockGitlabAccess_MakeRequestServerSendHeaderCall[Req, Res]) Return(arg0 error) *MockGitlabAccess_MakeRequestServerSendHeaderCall[Req, Res] {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockGitlabAccess_MakeRequestServerSendHeaderCall[Req, Res]) Do(f func(metadata.MD) error) *MockGitlabAccess_MakeRequestServerSendHeaderCall[Req, Res] {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitlabAccess_MakeRequestServerSendHeaderCall[Req, Res]) DoAndReturn(f func(metadata.MD) error) *MockGitlabAccess_MakeRequestServerSendHeaderCall[Req, Res] {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// SendMsg mocks base method.
func (m_2 *MockGitlabAccess_MakeRequestServer[Req, Res]) SendMsg(m any) error {
	m_2.ctrl.T.Helper()
	ret := m_2.ctrl.Call(m_2, "SendMsg", m)
	ret0, _ := ret[0].(error)
	return ret0
}

// SendMsg indicates an expected call of SendMsg.
func (mr *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]) SendMsg(m any) *MockGitlabAccess_MakeRequestServerSendMsgCall[Req, Res] {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockGitlabAccess_MakeRequestServer[Req, Res])(nil).SendMsg), m)
	return &MockGitlabAccess_MakeRequestServerSendMsgCall[Req, Res]{Call: call}
}

// MockGitlabAccess_MakeRequestServerSendMsgCall wrap *gomock.Call
type MockGitlabAccess_MakeRequestServerSendMsgCall[Req any, Res any] struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockGitlabAccess_MakeRequestServerSendMsgCall[Req, Res]) Return(arg0 error) *MockGitlabAccess_MakeRequestServerSendMsgCall[Req, Res] {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockGitlabAccess_MakeRequestServerSendMsgCall[Req, Res]) Do(f func(any) error) *MockGitlabAccess_MakeRequestServerSendMsgCall[Req, Res] {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitlabAccess_MakeRequestServerSendMsgCall[Req, Res]) DoAndReturn(f func(any) error) *MockGitlabAccess_MakeRequestServerSendMsgCall[Req, Res] {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// SetHeader mocks base method.
func (m *MockGitlabAccess_MakeRequestServer[Req, Res]) SetHeader(arg0 metadata.MD) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetHeader", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

// SetHeader indicates an expected call of SetHeader.
func (mr *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]) SetHeader(arg0 any) *MockGitlabAccess_MakeRequestServerSetHeaderCall[Req, Res] {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockGitlabAccess_MakeRequestServer[Req, Res])(nil).SetHeader), arg0)
	return &MockGitlabAccess_MakeRequestServerSetHeaderCall[Req, Res]{Call: call}
}

// MockGitlabAccess_MakeRequestServerSetHeaderCall wrap *gomock.Call
type MockGitlabAccess_MakeRequestServerSetHeaderCall[Req any, Res any] struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockGitlabAccess_MakeRequestServerSetHeaderCall[Req, Res]) Return(arg0 error) *MockGitlabAccess_MakeRequestServerSetHeaderCall[Req, Res] {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockGitlabAccess_MakeRequestServerSetHeaderCall[Req, Res]) Do(f func(metadata.MD) error) *MockGitlabAccess_MakeRequestServerSetHeaderCall[Req, Res] {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitlabAccess_MakeRequestServerSetHeaderCall[Req, Res]) DoAndReturn(f func(metadata.MD) error) *MockGitlabAccess_MakeRequestServerSetHeaderCall[Req, Res] {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// SetTrailer mocks base method.
func (m *MockGitlabAccess_MakeRequestServer[Req, Res]) SetTrailer(arg0 metadata.MD) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetTrailer", arg0)
}

// SetTrailer indicates an expected call of SetTrailer.
func (mr *MockGitlabAccess_MakeRequestServerMockRecorder[Req, Res]) SetTrailer(arg0 any) *MockGitlabAccess_MakeRequestServerSetTrailerCall[Req, Res] {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockGitlabAccess_MakeRequestServer[Req, Res])(nil).SetTrailer), arg0)
	return &MockGitlabAccess_MakeRequestServerSetTrailerCall[Req, Res]{Call: call}
}

// MockGitlabAccess_MakeRequestServerSetTrailerCall wrap *gomock.Call
type MockGitlabAccess_MakeRequestServerSetTrailerCall[Req any, Res any] struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockGitlabAccess_MakeRequestServerSetTrailerCall[Req, Res]) Return() *MockGitlabAccess_MakeRequestServerSetTrailerCall[Req, Res] {
	c.Call = c.Call.Return()
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockGitlabAccess_MakeRequestServerSetTrailerCall[Req, Res]) Do(f func(metadata.MD)) *MockGitlabAccess_MakeRequestServerSetTrailerCall[Req, Res] {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitlabAccess_MakeRequestServerSetTrailerCall[Req, Res]) DoAndReturn(f func(metadata.MD)) *MockGitlabAccess_MakeRequestServerSetTrailerCall[Req, Res] {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
