// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/authelia/authelia/v4/internal/notification (interfaces: SMTPClient)
//
// Generated by this command:
//
//	mockgen -package notification -destination smtp_client_mock_test.go -mock_names SMTPClient=MockSMTPClient github.com/authelia/authelia/v4/internal/notification SMTPClient
//

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

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

	mail "github.com/wneessen/go-mail"
	smtp "github.com/wneessen/go-mail/smtp"
	gomock "go.uber.org/mock/gomock"
)

// MockSMTPClient is a mock of SMTPClient interface.
type MockSMTPClient struct {
	ctrl     *gomock.Controller
	recorder *MockSMTPClientMockRecorder
	isgomock struct{}
}

// MockSMTPClientMockRecorder is the mock recorder for MockSMTPClient.
type MockSMTPClientMockRecorder struct {
	mock *MockSMTPClient
}

// NewMockSMTPClient creates a new mock instance.
func NewMockSMTPClient(ctrl *gomock.Controller) *MockSMTPClient {
	mock := &MockSMTPClient{ctrl: ctrl}
	mock.recorder = &MockSMTPClientMockRecorder{mock}
	return mock
}

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

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

// DialAndSend mocks base method.
func (m *MockSMTPClient) DialAndSend(messages ...*mail.Msg) error {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range messages {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DialAndSend", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// DialAndSend indicates an expected call of DialAndSend.
func (mr *MockSMTPClientMockRecorder) DialAndSend(messages ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DialAndSend", reflect.TypeOf((*MockSMTPClient)(nil).DialAndSend), messages...)
}

// DialAndSendWithContext mocks base method.
func (m *MockSMTPClient) DialAndSendWithContext(ctx context.Context, messages ...*mail.Msg) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range messages {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "DialAndSendWithContext", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// DialAndSendWithContext indicates an expected call of DialAndSendWithContext.
func (mr *MockSMTPClientMockRecorder) DialAndSendWithContext(ctx any, messages ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, messages...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DialAndSendWithContext", reflect.TypeOf((*MockSMTPClient)(nil).DialAndSendWithContext), varargs...)
}

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

// DialWithContext indicates an expected call of DialWithContext.
func (mr *MockSMTPClientMockRecorder) DialWithContext(ctxDial any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DialWithContext", reflect.TypeOf((*MockSMTPClient)(nil).DialWithContext), ctxDial)
}

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

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

// Send mocks base method.
func (m *MockSMTPClient) Send(messages ...*mail.Msg) error {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range messages {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Send", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// Send indicates an expected call of Send.
func (mr *MockSMTPClientMockRecorder) Send(messages ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockSMTPClient)(nil).Send), messages...)
}

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

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

// SetDebugLog mocks base method.
func (m *MockSMTPClient) SetDebugLog(val bool) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetDebugLog", val)
}

// SetDebugLog indicates an expected call of SetDebugLog.
func (mr *MockSMTPClientMockRecorder) SetDebugLog(val any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetDebugLog", reflect.TypeOf((*MockSMTPClient)(nil).SetDebugLog), val)
}

// SetLogAuthData mocks base method.
func (m *MockSMTPClient) SetLogAuthData(logAuth bool) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetLogAuthData", logAuth)
}

// SetLogAuthData indicates an expected call of SetLogAuthData.
func (mr *MockSMTPClientMockRecorder) SetLogAuthData(logAuth any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetLogAuthData", reflect.TypeOf((*MockSMTPClient)(nil).SetLogAuthData), logAuth)
}

// SetPassword mocks base method.
func (m *MockSMTPClient) SetPassword(password string) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetPassword", password)
}

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

// SetSMTPAuth mocks base method.
func (m *MockSMTPClient) SetSMTPAuth(authType mail.SMTPAuthType) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetSMTPAuth", authType)
}

// SetSMTPAuth indicates an expected call of SetSMTPAuth.
func (mr *MockSMTPClientMockRecorder) SetSMTPAuth(authType any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetSMTPAuth", reflect.TypeOf((*MockSMTPClient)(nil).SetSMTPAuth), authType)
}

// SetSMTPAuthCustom mocks base method.
func (m *MockSMTPClient) SetSMTPAuthCustom(smtpAuth smtp.Auth) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetSMTPAuthCustom", smtpAuth)
}

// SetSMTPAuthCustom indicates an expected call of SetSMTPAuthCustom.
func (mr *MockSMTPClientMockRecorder) SetSMTPAuthCustom(smtpAuth any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetSMTPAuthCustom", reflect.TypeOf((*MockSMTPClient)(nil).SetSMTPAuthCustom), smtpAuth)
}

// SetSSL mocks base method.
func (m *MockSMTPClient) SetSSL(ssl bool) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetSSL", ssl)
}

// SetSSL indicates an expected call of SetSSL.
func (mr *MockSMTPClientMockRecorder) SetSSL(ssl any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetSSL", reflect.TypeOf((*MockSMTPClient)(nil).SetSSL), ssl)
}

// SetSSLPort mocks base method.
func (m *MockSMTPClient) SetSSLPort(ssl, fallback bool) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetSSLPort", ssl, fallback)
}

// SetSSLPort indicates an expected call of SetSSLPort.
func (mr *MockSMTPClientMockRecorder) SetSSLPort(ssl, fallback any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetSSLPort", reflect.TypeOf((*MockSMTPClient)(nil).SetSSLPort), ssl, fallback)
}

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

// SetTLSConfig indicates an expected call of SetTLSConfig.
func (mr *MockSMTPClientMockRecorder) SetTLSConfig(tlsconfig any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTLSConfig", reflect.TypeOf((*MockSMTPClient)(nil).SetTLSConfig), tlsconfig)
}

// SetTLSPolicy mocks base method.
func (m *MockSMTPClient) SetTLSPolicy(policy mail.TLSPolicy) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetTLSPolicy", policy)
}

// SetTLSPolicy indicates an expected call of SetTLSPolicy.
func (mr *MockSMTPClientMockRecorder) SetTLSPolicy(policy any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTLSPolicy", reflect.TypeOf((*MockSMTPClient)(nil).SetTLSPolicy), policy)
}

// SetTLSPortPolicy mocks base method.
func (m *MockSMTPClient) SetTLSPortPolicy(policy mail.TLSPolicy) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetTLSPortPolicy", policy)
}

// SetTLSPortPolicy indicates an expected call of SetTLSPortPolicy.
func (mr *MockSMTPClientMockRecorder) SetTLSPortPolicy(policy any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTLSPortPolicy", reflect.TypeOf((*MockSMTPClient)(nil).SetTLSPortPolicy), policy)
}

// SetUsername mocks base method.
func (m *MockSMTPClient) SetUsername(username string) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetUsername", username)
}

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

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

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