// Copyright 2024 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/agent/proxy (interfaces: Proxier)
//
// Generated by this command:
//
//	mockgen -copyright_file hack/boilerplate/license_header.raw.txt -destination pkg/agent/proxy/testing/mock_proxy.go -package testing antrea.io/antrea/pkg/agent/proxy Proxier
//

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

import (
	reflect "reflect"

	openflow "antrea.io/antrea/pkg/ovs/openflow"
	proxy "antrea.io/antrea/third_party/proxy"
	gomock "go.uber.org/mock/gomock"
)

// MockProxier is a mock of Proxier interface.
type MockProxier struct {
	ctrl     *gomock.Controller
	recorder *MockProxierMockRecorder
	isgomock struct{}
}

// MockProxierMockRecorder is the mock recorder for MockProxier.
type MockProxierMockRecorder struct {
	mock *MockProxier
}

// NewMockProxier creates a new mock instance.
func NewMockProxier(ctrl *gomock.Controller) *MockProxier {
	mock := &MockProxier{ctrl: ctrl}
	mock.recorder = &MockProxierMockRecorder{mock}
	return mock
}

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

// GetProxyProvider mocks base method.
func (m *MockProxier) GetProxyProvider() proxy.Provider {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetProxyProvider")
	ret0, _ := ret[0].(proxy.Provider)
	return ret0
}

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

// GetServiceByIP mocks base method.
func (m *MockProxier) GetServiceByIP(serviceStr string) (proxy.ServicePortName, bool) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetServiceByIP", serviceStr)
	ret0, _ := ret[0].(proxy.ServicePortName)
	ret1, _ := ret[1].(bool)
	return ret0, ret1
}

// GetServiceByIP indicates an expected call of GetServiceByIP.
func (mr *MockProxierMockRecorder) GetServiceByIP(serviceStr any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetServiceByIP", reflect.TypeOf((*MockProxier)(nil).GetServiceByIP), serviceStr)
}

// GetServiceFlowKeys mocks base method.
func (m *MockProxier) GetServiceFlowKeys(serviceName, namespace string) ([]string, []openflow.GroupIDType, bool) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetServiceFlowKeys", serviceName, namespace)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].([]openflow.GroupIDType)
	ret2, _ := ret[2].(bool)
	return ret0, ret1, ret2
}

// GetServiceFlowKeys indicates an expected call of GetServiceFlowKeys.
func (mr *MockProxierMockRecorder) GetServiceFlowKeys(serviceName, namespace any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetServiceFlowKeys", reflect.TypeOf((*MockProxier)(nil).GetServiceFlowKeys), serviceName, namespace)
}
