// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/go-ldap/ldap/v3 (interfaces: Client)
//
// Generated by this command:
//
//	mockgen -package authentication -destination ldap_client_mock_test.go -mock_names Client=MockLDAPClient github.com/go-ldap/ldap/v3 Client
//

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

import (
	context "context"
	tls "crypto/tls"
	reflect "reflect"
	time "time"

	ldap "github.com/go-ldap/ldap/v3"
	gomock "go.uber.org/mock/gomock"
)

// MockLDAPClient is a mock of Client interface.
type MockLDAPClient struct {
	ctrl     *gomock.Controller
	recorder *MockLDAPClientMockRecorder
	isgomock struct{}
}

// MockLDAPClientMockRecorder is the mock recorder for MockLDAPClient.
type MockLDAPClientMockRecorder struct {
	mock *MockLDAPClient
}

// NewMockLDAPClient creates a new mock instance.
func NewMockLDAPClient(ctrl *gomock.Controller) *MockLDAPClient {
	mock := &MockLDAPClient{ctrl: ctrl}
	mock.recorder = &MockLDAPClientMockRecorder{mock}
	return mock
}

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

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

// Add indicates an expected call of Add.
func (mr *MockLDAPClientMockRecorder) Add(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Add", reflect.TypeOf((*MockLDAPClient)(nil).Add), arg0)
}

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

// Bind indicates an expected call of Bind.
func (mr *MockLDAPClientMockRecorder) Bind(username, password any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Bind", reflect.TypeOf((*MockLDAPClient)(nil).Bind), username, password)
}

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

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

// Compare mocks base method.
func (m *MockLDAPClient) Compare(dn, attribute, value string) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Compare", dn, attribute, value)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Compare indicates an expected call of Compare.
func (mr *MockLDAPClientMockRecorder) Compare(dn, attribute, value any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Compare", reflect.TypeOf((*MockLDAPClient)(nil).Compare), dn, attribute, value)
}

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

// Del indicates an expected call of Del.
func (mr *MockLDAPClientMockRecorder) Del(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Del", reflect.TypeOf((*MockLDAPClient)(nil).Del), arg0)
}

// DirSync mocks base method.
func (m *MockLDAPClient) DirSync(searchRequest *ldap.SearchRequest, flags, maxAttrCount int64, cookie []byte) (*ldap.SearchResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DirSync", searchRequest, flags, maxAttrCount, cookie)
	ret0, _ := ret[0].(*ldap.SearchResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// DirSync indicates an expected call of DirSync.
func (mr *MockLDAPClientMockRecorder) DirSync(searchRequest, flags, maxAttrCount, cookie any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DirSync", reflect.TypeOf((*MockLDAPClient)(nil).DirSync), searchRequest, flags, maxAttrCount, cookie)
}

// DirSyncAsync mocks base method.
func (m *MockLDAPClient) DirSyncAsync(ctx context.Context, searchRequest *ldap.SearchRequest, bufferSize int, flags, maxAttrCount int64, cookie []byte) ldap.Response {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DirSyncAsync", ctx, searchRequest, bufferSize, flags, maxAttrCount, cookie)
	ret0, _ := ret[0].(ldap.Response)
	return ret0
}

// DirSyncAsync indicates an expected call of DirSyncAsync.
func (mr *MockLDAPClientMockRecorder) DirSyncAsync(ctx, searchRequest, bufferSize, flags, maxAttrCount, cookie any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DirSyncAsync", reflect.TypeOf((*MockLDAPClient)(nil).DirSyncAsync), ctx, searchRequest, bufferSize, flags, maxAttrCount, cookie)
}

// Extended mocks base method.
func (m *MockLDAPClient) Extended(arg0 *ldap.ExtendedRequest) (*ldap.ExtendedResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Extended", arg0)
	ret0, _ := ret[0].(*ldap.ExtendedResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Extended indicates an expected call of Extended.
func (mr *MockLDAPClientMockRecorder) Extended(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Extended", reflect.TypeOf((*MockLDAPClient)(nil).Extended), arg0)
}

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

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

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

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

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

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

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

// Modify indicates an expected call of Modify.
func (mr *MockLDAPClientMockRecorder) Modify(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Modify", reflect.TypeOf((*MockLDAPClient)(nil).Modify), arg0)
}

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

// ModifyDN indicates an expected call of ModifyDN.
func (mr *MockLDAPClientMockRecorder) ModifyDN(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ModifyDN", reflect.TypeOf((*MockLDAPClient)(nil).ModifyDN), arg0)
}

// ModifyWithResult mocks base method.
func (m *MockLDAPClient) ModifyWithResult(arg0 *ldap.ModifyRequest) (*ldap.ModifyResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ModifyWithResult", arg0)
	ret0, _ := ret[0].(*ldap.ModifyResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ModifyWithResult indicates an expected call of ModifyWithResult.
func (mr *MockLDAPClientMockRecorder) ModifyWithResult(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ModifyWithResult", reflect.TypeOf((*MockLDAPClient)(nil).ModifyWithResult), arg0)
}

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

// NTLMUnauthenticatedBind indicates an expected call of NTLMUnauthenticatedBind.
func (mr *MockLDAPClientMockRecorder) NTLMUnauthenticatedBind(domain, username any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NTLMUnauthenticatedBind", reflect.TypeOf((*MockLDAPClient)(nil).NTLMUnauthenticatedBind), domain, username)
}

// PasswordModify mocks base method.
func (m *MockLDAPClient) PasswordModify(arg0 *ldap.PasswordModifyRequest) (*ldap.PasswordModifyResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PasswordModify", arg0)
	ret0, _ := ret[0].(*ldap.PasswordModifyResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// PasswordModify indicates an expected call of PasswordModify.
func (mr *MockLDAPClientMockRecorder) PasswordModify(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PasswordModify", reflect.TypeOf((*MockLDAPClient)(nil).PasswordModify), arg0)
}

// Search mocks base method.
func (m *MockLDAPClient) Search(arg0 *ldap.SearchRequest) (*ldap.SearchResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Search", arg0)
	ret0, _ := ret[0].(*ldap.SearchResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Search indicates an expected call of Search.
func (mr *MockLDAPClientMockRecorder) Search(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Search", reflect.TypeOf((*MockLDAPClient)(nil).Search), arg0)
}

// SearchAsync mocks base method.
func (m *MockLDAPClient) SearchAsync(ctx context.Context, searchRequest *ldap.SearchRequest, bufferSize int) ldap.Response {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SearchAsync", ctx, searchRequest, bufferSize)
	ret0, _ := ret[0].(ldap.Response)
	return ret0
}

// SearchAsync indicates an expected call of SearchAsync.
func (mr *MockLDAPClientMockRecorder) SearchAsync(ctx, searchRequest, bufferSize any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchAsync", reflect.TypeOf((*MockLDAPClient)(nil).SearchAsync), ctx, searchRequest, bufferSize)
}

// SearchWithPaging mocks base method.
func (m *MockLDAPClient) SearchWithPaging(searchRequest *ldap.SearchRequest, pagingSize uint32) (*ldap.SearchResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SearchWithPaging", searchRequest, pagingSize)
	ret0, _ := ret[0].(*ldap.SearchResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SearchWithPaging indicates an expected call of SearchWithPaging.
func (mr *MockLDAPClientMockRecorder) SearchWithPaging(searchRequest, pagingSize any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchWithPaging", reflect.TypeOf((*MockLDAPClient)(nil).SearchWithPaging), searchRequest, pagingSize)
}

// SetTimeout mocks base method.
func (m *MockLDAPClient) SetTimeout(arg0 time.Duration) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetTimeout", arg0)
}

// SetTimeout indicates an expected call of SetTimeout.
func (mr *MockLDAPClientMockRecorder) SetTimeout(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTimeout", reflect.TypeOf((*MockLDAPClient)(nil).SetTimeout), arg0)
}

// SimpleBind mocks base method.
func (m *MockLDAPClient) SimpleBind(arg0 *ldap.SimpleBindRequest) (*ldap.SimpleBindResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SimpleBind", arg0)
	ret0, _ := ret[0].(*ldap.SimpleBindResult)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SimpleBind indicates an expected call of SimpleBind.
func (mr *MockLDAPClientMockRecorder) SimpleBind(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SimpleBind", reflect.TypeOf((*MockLDAPClient)(nil).SimpleBind), arg0)
}

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

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

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

// StartTLS indicates an expected call of StartTLS.
func (mr *MockLDAPClientMockRecorder) StartTLS(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartTLS", reflect.TypeOf((*MockLDAPClient)(nil).StartTLS), arg0)
}

// Syncrepl mocks base method.
func (m *MockLDAPClient) Syncrepl(ctx context.Context, searchRequest *ldap.SearchRequest, bufferSize int, mode ldap.ControlSyncRequestMode, cookie []byte, reloadHint bool) ldap.Response {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Syncrepl", ctx, searchRequest, bufferSize, mode, cookie, reloadHint)
	ret0, _ := ret[0].(ldap.Response)
	return ret0
}

// Syncrepl indicates an expected call of Syncrepl.
func (mr *MockLDAPClientMockRecorder) Syncrepl(ctx, searchRequest, bufferSize, mode, cookie, reloadHint any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Syncrepl", reflect.TypeOf((*MockLDAPClient)(nil).Syncrepl), ctx, searchRequest, bufferSize, mode, cookie, reloadHint)
}

// TLSConnectionState mocks base method.
func (m *MockLDAPClient) TLSConnectionState() (tls.ConnectionState, bool) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TLSConnectionState")
	ret0, _ := ret[0].(tls.ConnectionState)
	ret1, _ := ret[1].(bool)
	return ret0, ret1
}

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

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

// UnauthenticatedBind indicates an expected call of UnauthenticatedBind.
func (mr *MockLDAPClientMockRecorder) UnauthenticatedBind(username any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnauthenticatedBind", reflect.TypeOf((*MockLDAPClient)(nil).UnauthenticatedBind), username)
}

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

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