// Code generated by MockGen. DO NOT EDIT.
// Source: reporter.go
//
// Generated by this command:
//
//	mockgen -typed -source reporter.go -destination mock_reporter_test.go -package agentk
//

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockReporter is a mock of Reporter interface.
type MockReporter struct {
	ctrl     *gomock.Controller
	recorder *MockReporterMockRecorder
	isgomock struct{}
}

// MockReporterMockRecorder is the mock recorder for MockReporter.
type MockReporterMockRecorder struct {
	mock *MockReporter
}

// NewMockReporter creates a new mock instance.
func NewMockReporter(ctrl *gomock.Controller) *MockReporter {
	mock := &MockReporter{ctrl: ctrl}
	mock.recorder = &MockReporterMockRecorder{mock}
	return mock
}

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

// ResolveVulnerabilities mocks base method.
func (m *MockReporter) ResolveVulnerabilities(ctx context.Context, uuids []string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ResolveVulnerabilities", ctx, uuids)
	ret0, _ := ret[0].(error)
	return ret0
}

// ResolveVulnerabilities indicates an expected call of ResolveVulnerabilities.
func (mr *MockReporterMockRecorder) ResolveVulnerabilities(ctx, uuids any) *MockReporterResolveVulnerabilitiesCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResolveVulnerabilities", reflect.TypeOf((*MockReporter)(nil).ResolveVulnerabilities), ctx, uuids)
	return &MockReporterResolveVulnerabilitiesCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockReporterResolveVulnerabilitiesCall) Return(retError error) *MockReporterResolveVulnerabilitiesCall {
	c.Call = c.Call.Return(retError)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockReporterResolveVulnerabilitiesCall) Do(f func(context.Context, []string) error) *MockReporterResolveVulnerabilitiesCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockReporterResolveVulnerabilitiesCall) DoAndReturn(f func(context.Context, []string) error) *MockReporterResolveVulnerabilitiesCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Transmit mocks base method.
func (m *MockReporter) Transmit(ctx context.Context, payloads []*Payload) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Transmit", ctx, payloads)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Transmit indicates an expected call of Transmit.
func (mr *MockReporterMockRecorder) Transmit(ctx, payloads any) *MockReporterTransmitCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Transmit", reflect.TypeOf((*MockReporter)(nil).Transmit), ctx, payloads)
	return &MockReporterTransmitCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockReporterTransmitCall) Return(arg0 []string, arg1 error) *MockReporterTransmitCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockReporterTransmitCall) Do(f func(context.Context, []*Payload) ([]string, error)) *MockReporterTransmitCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockReporterTransmitCall) DoAndReturn(f func(context.Context, []*Payload) ([]string, error)) *MockReporterTransmitCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// createVulnerability mocks base method.
func (m *MockReporter) createVulnerability(ctx context.Context, payload *Payload) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "createVulnerability", ctx, payload)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// createVulnerability indicates an expected call of createVulnerability.
func (mr *MockReporterMockRecorder) createVulnerability(ctx, payload any) *MockReportercreateVulnerabilityCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "createVulnerability", reflect.TypeOf((*MockReporter)(nil).createVulnerability), ctx, payload)
	return &MockReportercreateVulnerabilityCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockReportercreateVulnerabilityCall) Return(uuid string, retError error) *MockReportercreateVulnerabilityCall {
	c.Call = c.Call.Return(uuid, retError)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockReportercreateVulnerabilityCall) Do(f func(context.Context, *Payload) (string, error)) *MockReportercreateVulnerabilityCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockReportercreateVulnerabilityCall) DoAndReturn(f func(context.Context, *Payload) (string, error)) *MockReportercreateVulnerabilityCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
