// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/go-ldap/ldap/v3 (interfaces: Client)
//
// Generated by this command:
//
//	mockgen -destination=../../../mocks/github.com/go-ldap/ldap/client.go github.com/go-ldap/ldap/v3 Client
//

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

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

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

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

// MockClientMockRecorder is the mock recorder for MockClient.
type MockClientMockRecorder struct {
	mock *MockClient
}

// NewMockClient creates a new mock instance.
func NewMockClient(ctrl *gomock.Controller) *MockClient {
	mock := &MockClient{ctrl: ctrl}
	mock.recorder = &MockClientMockRecorder{mock}
	return mock
}

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

// Add mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Add(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Add", reflect.TypeOf((*MockClient)(nil).Add), arg0)
}

// Bind mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Bind(username, password any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Bind", reflect.TypeOf((*MockClient)(nil).Bind), username, password)
}

// Close mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Close() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockClient)(nil).Close))
}

// Compare mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Compare(dn, attribute, value any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Compare", reflect.TypeOf((*MockClient)(nil).Compare), dn, attribute, value)
}

// Del mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Del(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Del", reflect.TypeOf((*MockClient)(nil).Del), arg0)
}

// DirSync mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) DirSync(searchRequest, flags, maxAttrCount, cookie any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DirSync", reflect.TypeOf((*MockClient)(nil).DirSync), searchRequest, flags, maxAttrCount, cookie)
}

// DirSyncAsync mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) 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((*MockClient)(nil).DirSyncAsync), ctx, searchRequest, bufferSize, flags, maxAttrCount, cookie)
}

// Extended mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Extended(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Extended", reflect.TypeOf((*MockClient)(nil).Extended), arg0)
}

// ExternalBind mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) ExternalBind() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExternalBind", reflect.TypeOf((*MockClient)(nil).ExternalBind))
}

// GetLastError mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) GetLastError() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLastError", reflect.TypeOf((*MockClient)(nil).GetLastError))
}

// IsClosing mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) IsClosing() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsClosing", reflect.TypeOf((*MockClient)(nil).IsClosing))
}

// Modify mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Modify(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Modify", reflect.TypeOf((*MockClient)(nil).Modify), arg0)
}

// ModifyDN mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) ModifyDN(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ModifyDN", reflect.TypeOf((*MockClient)(nil).ModifyDN), arg0)
}

// ModifyWithResult mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) ModifyWithResult(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ModifyWithResult", reflect.TypeOf((*MockClient)(nil).ModifyWithResult), arg0)
}

// NTLMUnauthenticatedBind mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) NTLMUnauthenticatedBind(domain, username any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NTLMUnauthenticatedBind", reflect.TypeOf((*MockClient)(nil).NTLMUnauthenticatedBind), domain, username)
}

// PasswordModify mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) PasswordModify(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PasswordModify", reflect.TypeOf((*MockClient)(nil).PasswordModify), arg0)
}

// Search mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Search(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Search", reflect.TypeOf((*MockClient)(nil).Search), arg0)
}

// SearchAsync mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) SearchAsync(ctx, searchRequest, bufferSize any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchAsync", reflect.TypeOf((*MockClient)(nil).SearchAsync), ctx, searchRequest, bufferSize)
}

// SearchWithPaging mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) SearchWithPaging(searchRequest, pagingSize any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchWithPaging", reflect.TypeOf((*MockClient)(nil).SearchWithPaging), searchRequest, pagingSize)
}

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

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

// SimpleBind mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) SimpleBind(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SimpleBind", reflect.TypeOf((*MockClient)(nil).SimpleBind), arg0)
}

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

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

// StartTLS mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) StartTLS(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartTLS", reflect.TypeOf((*MockClient)(nil).StartTLS), arg0)
}

// Syncrepl mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) 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((*MockClient)(nil).Syncrepl), ctx, searchRequest, bufferSize, mode, cookie, reloadHint)
}

// TLSConnectionState mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) TLSConnectionState() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TLSConnectionState", reflect.TypeOf((*MockClient)(nil).TLSConnectionState))
}

// UnauthenticatedBind mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) UnauthenticatedBind(username any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnauthenticatedBind", reflect.TypeOf((*MockClient)(nil).UnauthenticatedBind), username)
}

// Unbind mocks base method.
func (m *MockClient) 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 *MockClientMockRecorder) Unbind() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unbind", reflect.TypeOf((*MockClient)(nil).Unbind))
}
