// Copyright 2025 Antrea Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

// Code generated by MockGen. DO NOT EDIT.
// Source: antrea.io/antrea/pkg/ipfix (interfaces: IPFIXExportingProcess,IPFIXBufferedExporter,IPFIXRegistry)
//
// Generated by this command:
//
//	mockgen -copyright_file hack/boilerplate/license_header.raw.txt -destination pkg/ipfix/testing/mock_ipfix.go -package testing antrea.io/antrea/pkg/ipfix IPFIXExportingProcess,IPFIXBufferedExporter,IPFIXRegistry
//

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

import (
	reflect "reflect"

	entities "github.com/vmware/go-ipfix/pkg/entities"
	gomock "go.uber.org/mock/gomock"
)

// MockIPFIXExportingProcess is a mock of IPFIXExportingProcess interface.
type MockIPFIXExportingProcess struct {
	ctrl     *gomock.Controller
	recorder *MockIPFIXExportingProcessMockRecorder
	isgomock struct{}
}

// MockIPFIXExportingProcessMockRecorder is the mock recorder for MockIPFIXExportingProcess.
type MockIPFIXExportingProcessMockRecorder struct {
	mock *MockIPFIXExportingProcess
}

// NewMockIPFIXExportingProcess creates a new mock instance.
func NewMockIPFIXExportingProcess(ctrl *gomock.Controller) *MockIPFIXExportingProcess {
	mock := &MockIPFIXExportingProcess{ctrl: ctrl}
	mock.recorder = &MockIPFIXExportingProcessMockRecorder{mock}
	return mock
}

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

// CloseConnToCollector mocks base method.
func (m *MockIPFIXExportingProcess) CloseConnToCollector() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "CloseConnToCollector")
}

// CloseConnToCollector indicates an expected call of CloseConnToCollector.
func (mr *MockIPFIXExportingProcessMockRecorder) CloseConnToCollector() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloseConnToCollector", reflect.TypeOf((*MockIPFIXExportingProcess)(nil).CloseConnToCollector))
}

// NewTemplateID mocks base method.
func (m *MockIPFIXExportingProcess) NewTemplateID() uint16 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NewTemplateID")
	ret0, _ := ret[0].(uint16)
	return ret0
}

// NewTemplateID indicates an expected call of NewTemplateID.
func (mr *MockIPFIXExportingProcessMockRecorder) NewTemplateID() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewTemplateID", reflect.TypeOf((*MockIPFIXExportingProcess)(nil).NewTemplateID))
}

// SendSet mocks base method.
func (m *MockIPFIXExportingProcess) SendSet(set entities.Set) (int, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SendSet", set)
	ret0, _ := ret[0].(int)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SendSet indicates an expected call of SendSet.
func (mr *MockIPFIXExportingProcessMockRecorder) SendSet(set any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendSet", reflect.TypeOf((*MockIPFIXExportingProcess)(nil).SendSet), set)
}

// MockIPFIXBufferedExporter is a mock of IPFIXBufferedExporter interface.
type MockIPFIXBufferedExporter struct {
	ctrl     *gomock.Controller
	recorder *MockIPFIXBufferedExporterMockRecorder
	isgomock struct{}
}

// MockIPFIXBufferedExporterMockRecorder is the mock recorder for MockIPFIXBufferedExporter.
type MockIPFIXBufferedExporterMockRecorder struct {
	mock *MockIPFIXBufferedExporter
}

// NewMockIPFIXBufferedExporter creates a new mock instance.
func NewMockIPFIXBufferedExporter(ctrl *gomock.Controller) *MockIPFIXBufferedExporter {
	mock := &MockIPFIXBufferedExporter{ctrl: ctrl}
	mock.recorder = &MockIPFIXBufferedExporterMockRecorder{mock}
	return mock
}

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

// AddRecord mocks base method.
func (m *MockIPFIXBufferedExporter) AddRecord(record entities.Record) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddRecord", record)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddRecord indicates an expected call of AddRecord.
func (mr *MockIPFIXBufferedExporterMockRecorder) AddRecord(record any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddRecord", reflect.TypeOf((*MockIPFIXBufferedExporter)(nil).AddRecord), record)
}

// Flush mocks base method.
func (m *MockIPFIXBufferedExporter) Flush() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Flush")
	ret0, _ := ret[0].(error)
	return ret0
}

// Flush indicates an expected call of Flush.
func (mr *MockIPFIXBufferedExporterMockRecorder) Flush() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Flush", reflect.TypeOf((*MockIPFIXBufferedExporter)(nil).Flush))
}

// MockIPFIXRegistry is a mock of IPFIXRegistry interface.
type MockIPFIXRegistry struct {
	ctrl     *gomock.Controller
	recorder *MockIPFIXRegistryMockRecorder
	isgomock struct{}
}

// MockIPFIXRegistryMockRecorder is the mock recorder for MockIPFIXRegistry.
type MockIPFIXRegistryMockRecorder struct {
	mock *MockIPFIXRegistry
}

// NewMockIPFIXRegistry creates a new mock instance.
func NewMockIPFIXRegistry(ctrl *gomock.Controller) *MockIPFIXRegistry {
	mock := &MockIPFIXRegistry{ctrl: ctrl}
	mock.recorder = &MockIPFIXRegistryMockRecorder{mock}
	return mock
}

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

// GetInfoElement mocks base method.
func (m *MockIPFIXRegistry) GetInfoElement(name string, enterpriseID uint32) (*entities.InfoElement, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetInfoElement", name, enterpriseID)
	ret0, _ := ret[0].(*entities.InfoElement)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetInfoElement indicates an expected call of GetInfoElement.
func (mr *MockIPFIXRegistryMockRecorder) GetInfoElement(name, enterpriseID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInfoElement", reflect.TypeOf((*MockIPFIXRegistry)(nil).GetInfoElement), name, enterpriseID)
}

// LoadRegistry mocks base method.
func (m *MockIPFIXRegistry) LoadRegistry() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "LoadRegistry")
}

// LoadRegistry indicates an expected call of LoadRegistry.
func (mr *MockIPFIXRegistryMockRecorder) LoadRegistry() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoadRegistry", reflect.TypeOf((*MockIPFIXRegistry)(nil).LoadRegistry))
}
