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

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

import (
	net "net"
	reflect "reflect"

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

// MockInterface is a mock of Interface interface.
type MockInterface struct {
	ctrl     *gomock.Controller
	recorder *MockInterfaceMockRecorder
	isgomock struct{}
}

// MockInterfaceMockRecorder is the mock recorder for MockInterface.
type MockInterfaceMockRecorder struct {
	mock *MockInterface
}

// NewMockInterface creates a new mock instance.
func NewMockInterface(ctrl *gomock.Controller) *MockInterface {
	mock := &MockInterface{ctrl: ctrl}
	mock.recorder = &MockInterfaceMockRecorder{mock}
	return mock
}

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

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

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

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

// DeletePeer indicates an expected call of DeletePeer.
func (mr *MockInterfaceMockRecorder) DeletePeer(nodeName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePeer", reflect.TypeOf((*MockInterface)(nil).DeletePeer), nodeName)
}

// Init mocks base method.
func (m *MockInterface) Init(ipv4, ipv6 net.IP) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Init", ipv4, ipv6)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Init indicates an expected call of Init.
func (mr *MockInterfaceMockRecorder) Init(ipv4, ipv6 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockInterface)(nil).Init), ipv4, ipv6)
}

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

// RemoveStalePeers indicates an expected call of RemoveStalePeers.
func (mr *MockInterfaceMockRecorder) RemoveStalePeers(currentPeerPublickeys any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveStalePeers", reflect.TypeOf((*MockInterface)(nil).RemoveStalePeers), currentPeerPublickeys)
}

// UpdatePeer mocks base method.
func (m *MockInterface) UpdatePeer(nodeName, publicKeyString string, peerNodeIP net.IP, allowedIPs []*net.IPNet) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdatePeer", nodeName, publicKeyString, peerNodeIP, allowedIPs)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdatePeer indicates an expected call of UpdatePeer.
func (mr *MockInterfaceMockRecorder) UpdatePeer(nodeName, publicKeyString, peerNodeIP, allowedIPs any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdatePeer", reflect.TypeOf((*MockInterface)(nil).UpdatePeer), nodeName, publicKeyString, peerNodeIP, allowedIPs)
}
