// Code generated by MockGen. DO NOT EDIT.
// Source: namespace_scanner.go
//
// Generated by this command:
//
//	mockgen -typed -source namespace_scanner.go -destination mock_namespace_scanner_test.go -package agent
//

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

import (
	context "context"
	slog "log/slog"
	reflect "reflect"

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

// MockNamespaceScanner is a mock of NamespaceScanner interface.
type MockNamespaceScanner struct {
	ctrl     *gomock.Controller
	recorder *MockNamespaceScannerMockRecorder
	isgomock struct{}
}

// MockNamespaceScannerMockRecorder is the mock recorder for MockNamespaceScanner.
type MockNamespaceScannerMockRecorder struct {
	mock *MockNamespaceScanner
}

// NewMockNamespaceScanner creates a new mock instance.
func NewMockNamespaceScanner(ctrl *gomock.Controller) *MockNamespaceScanner {
	mock := &MockNamespaceScanner{ctrl: ctrl}
	mock.recorder = &MockNamespaceScannerMockRecorder{mock}
	return mock
}

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

// scan mocks base method.
func (m *MockNamespaceScanner) scan(ctx context.Context, scanLogger *slog.Logger, targetNamespace string, reporter Reporter, scanningManager ScanningManager) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "scan", ctx, scanLogger, targetNamespace, reporter, scanningManager)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// scan indicates an expected call of scan.
func (mr *MockNamespaceScannerMockRecorder) scan(ctx, scanLogger, targetNamespace, reporter, scanningManager any) *MockNamespaceScannerscanCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "scan", reflect.TypeOf((*MockNamespaceScanner)(nil).scan), ctx, scanLogger, targetNamespace, reporter, scanningManager)
	return &MockNamespaceScannerscanCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockNamespaceScannerscanCall) Do(f func(context.Context, *slog.Logger, string, Reporter, ScanningManager) ([]string, error)) *MockNamespaceScannerscanCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockNamespaceScannerscanCall) DoAndReturn(f func(context.Context, *slog.Logger, string, Reporter, ScanningManager) ([]string, error)) *MockNamespaceScannerscanCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
