// Code generated by MockGen. DO NOT EDIT.
// Source: controller/internal/enforcer/dnsproxy/dnsproxy.go

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

import (
	context "context"
	net "net"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	pucontext "go.aporeto.io/enforcerd/trireme-lib/controller/pkg/pucontext"
	policy "go.aporeto.io/enforcerd/trireme-lib/policy"
)

// MockDNSProxy is a mock of DNSProxy interface
// nolint
type MockDNSProxy struct {
	ctrl     *gomock.Controller
	recorder *MockDNSProxyMockRecorder
}

// MockDNSProxyMockRecorder is the mock recorder for MockDNSProxy
// nolint
type MockDNSProxyMockRecorder struct {
	mock *MockDNSProxy
}

// NewMockDNSProxy creates a new mock instance
// nolint
func NewMockDNSProxy(ctrl *gomock.Controller) *MockDNSProxy {
	mock := &MockDNSProxy{ctrl: ctrl}
	mock.recorder = &MockDNSProxyMockRecorder{mock}
	return mock
}

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

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

// StartDNSServer indicates an expected call of StartDNSServer
// nolint
func (mr *MockDNSProxyMockRecorder) StartDNSServer(ctx, contextID, port interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartDNSServer", reflect.TypeOf((*MockDNSProxy)(nil).StartDNSServer), ctx, contextID, port)
}

// Enforce mocks base method
// nolint
func (m *MockDNSProxy) Enforce(ctx context.Context, contextID string, puInfo *policy.PUInfo) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Enforce", ctx, contextID, puInfo)
	ret0, _ := ret[0].(error)
	return ret0
}

// Enforce indicates an expected call of Enforce
// nolint
func (mr *MockDNSProxyMockRecorder) Enforce(ctx, contextID, puInfo interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Enforce", reflect.TypeOf((*MockDNSProxy)(nil).Enforce), ctx, contextID, puInfo)
}

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

// Unenforce indicates an expected call of Unenforce
// nolint
func (mr *MockDNSProxyMockRecorder) Unenforce(ctx, contextID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unenforce", reflect.TypeOf((*MockDNSProxy)(nil).Unenforce), ctx, contextID)
}

// SyncWithPlatformCache mocks base method
// nolint
func (m *MockDNSProxy) SyncWithPlatformCache(ctx context.Context, pctx *pucontext.PUContext) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SyncWithPlatformCache", ctx, pctx)
	ret0, _ := ret[0].(error)
	return ret0
}

// SyncWithPlatformCache indicates an expected call of SyncWithPlatformCache
// nolint
func (mr *MockDNSProxyMockRecorder) SyncWithPlatformCache(ctx, pctx interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SyncWithPlatformCache", reflect.TypeOf((*MockDNSProxy)(nil).SyncWithPlatformCache), ctx, pctx)
}

// HandleDNSResponsePacket mocks base method
// nolint
func (m *MockDNSProxy) HandleDNSResponsePacket(dnsPacketData []byte, sourceIP net.IP, sourcePort uint16, destIP net.IP, destPort uint16, puFromContextID func(string) (*pucontext.PUContext, error)) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "HandleDNSResponsePacket", dnsPacketData, sourceIP, sourcePort, destIP, destPort, puFromContextID)
	ret0, _ := ret[0].(error)
	return ret0
}

// HandleDNSResponsePacket indicates an expected call of HandleDNSResponsePacket
// nolint
func (mr *MockDNSProxyMockRecorder) HandleDNSResponsePacket(dnsPacketData, sourceIP, sourcePort, destIP, destPort, puFromContextID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HandleDNSResponsePacket", reflect.TypeOf((*MockDNSProxy)(nil).HandleDNSResponsePacket), dnsPacketData, sourceIP, sourcePort, destIP, destPort, puFromContextID)
}
