// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/authelia/authelia/v4/internal/authentication (interfaces: LDAPClientFactory)
//
// Generated by this command:
//
//	mockgen -package authentication -destination ldap_client_factory_mock_test.go -mock_names LDAPClientFactory=MockLDAPClientFactory github.com/authelia/authelia/v4/internal/authentication LDAPClientFactory
//

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

import (
	reflect "reflect"

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

// MockLDAPClientFactory is a mock of LDAPClientFactory interface.
type MockLDAPClientFactory struct {
	ctrl     *gomock.Controller
	recorder *MockLDAPClientFactoryMockRecorder
	isgomock struct{}
}

// MockLDAPClientFactoryMockRecorder is the mock recorder for MockLDAPClientFactory.
type MockLDAPClientFactoryMockRecorder struct {
	mock *MockLDAPClientFactory
}

// NewMockLDAPClientFactory creates a new mock instance.
func NewMockLDAPClientFactory(ctrl *gomock.Controller) *MockLDAPClientFactory {
	mock := &MockLDAPClientFactory{ctrl: ctrl}
	mock.recorder = &MockLDAPClientFactoryMockRecorder{mock}
	return mock
}

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

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

// GetClient mocks base method.
func (m *MockLDAPClientFactory) GetClient(opts ...LDAPClientFactoryOption) (ldap.Client, error) {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GetClient", varargs...)
	ret0, _ := ret[0].(ldap.Client)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetClient indicates an expected call of GetClient.
func (mr *MockLDAPClientFactoryMockRecorder) GetClient(opts ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClient", reflect.TypeOf((*MockLDAPClientFactory)(nil).GetClient), opts...)
}

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

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

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

// ReleaseClient indicates an expected call of ReleaseClient.
func (mr *MockLDAPClientFactoryMockRecorder) ReleaseClient(client any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReleaseClient", reflect.TypeOf((*MockLDAPClientFactory)(nil).ReleaseClient), client)
}
