From 06ceafd9051bfa9ea23142d676d6d18659ed8a63 Mon Sep 17 00:00:00 2001 From: James Elliott Date: Thu, 17 Mar 2022 15:02:54 +1100 Subject: [PATCH] refactor(authentication): simplify ldap connection interface (#3026) This simplifies the interface to just expose the methods from the underlying connection that we need. The addition of gen.go makes creating the generated mocks easy go generate. --- internal/authentication/gen.go | 7 + internal/authentication/ldap_connection.go | 59 +++++++++ .../authentication/ldap_connection_factory.go | 60 +-------- .../ldap_connection_factory_mock.go | 123 ++---------------- .../authentication/ldap_connection_mock.go | 120 +++++++++++++++++ internal/authentication/ldap_user_provider.go | 2 +- .../authentication/ldap_user_provider_test.go | 2 +- internal/mocks/{generate.go => gen.go} | 0 internal/mocks/storage.go | 54 ++++---- internal/mocks/totp.go | 12 +- 10 files changed, 231 insertions(+), 208 deletions(-) create mode 100644 internal/authentication/gen.go create mode 100644 internal/authentication/ldap_connection.go create mode 100644 internal/authentication/ldap_connection_mock.go rename internal/mocks/{generate.go => gen.go} (100%) diff --git a/internal/authentication/gen.go b/internal/authentication/gen.go new file mode 100644 index 000000000..04eaad7a4 --- /dev/null +++ b/internal/authentication/gen.go @@ -0,0 +1,7 @@ +package authentication + +// This file is used to generate mocks. You can generate all mocks using the +// command `go generate github.com/authelia/authelia/v4/internal/authentication`. + +//go:generate mockgen -package authentication -destination ldap_connection_mock.go -mock_names LDAPConnection=MockLDAPConnection github.com/authelia/authelia/v4/internal/authentication LDAPConnection +//go:generate mockgen -package authentication -destination ldap_connection_factory_mock.go -mock_names LDAPConnectionFactory=MockLDAPConnectionFactory github.com/authelia/authelia/v4/internal/authentication LDAPConnectionFactory diff --git a/internal/authentication/ldap_connection.go b/internal/authentication/ldap_connection.go new file mode 100644 index 000000000..549ad8bff --- /dev/null +++ b/internal/authentication/ldap_connection.go @@ -0,0 +1,59 @@ +package authentication + +import ( + "crypto/tls" + + "github.com/go-ldap/ldap/v3" +) + +// LDAPConnection interface representing a connection to the ldap. +type LDAPConnection interface { + Bind(username, password string) error + Close() + + Search(searchRequest *ldap.SearchRequest) (*ldap.SearchResult, error) + Modify(modifyRequest *ldap.ModifyRequest) error + PasswordModify(pwdModifyRequest *ldap.PasswordModifyRequest) (*ldap.PasswordModifyResult, error) + StartTLS(config *tls.Config) error +} + +// LDAPConnectionImpl the production implementation of an ldap connection. +type LDAPConnectionImpl struct { + conn *ldap.Conn +} + +// NewLDAPConnectionImpl create a new ldap connection. +func NewLDAPConnectionImpl(conn *ldap.Conn) *LDAPConnectionImpl { + return &LDAPConnectionImpl{conn} +} + +// Bind binds ldap connection to a username/password. +func (lc *LDAPConnectionImpl) Bind(username, password string) error { + return lc.conn.Bind(username, password) +} + +// Close closes a ldap connection. +func (lc *LDAPConnectionImpl) Close() { + lc.conn.Close() +} + +// Search searches a ldap server. +func (lc *LDAPConnectionImpl) Search(searchRequest *ldap.SearchRequest) (*ldap.SearchResult, error) { + return lc.conn.Search(searchRequest) +} + +// Modify modifies an ldap object. +func (lc *LDAPConnectionImpl) Modify(modifyRequest *ldap.ModifyRequest) error { + return lc.conn.Modify(modifyRequest) +} + +// PasswordModify modifies an ldap objects password. +func (lc *LDAPConnectionImpl) PasswordModify(pwdModifyRequest *ldap.PasswordModifyRequest) error { + _, err := lc.conn.PasswordModify(pwdModifyRequest) + return err +} + +// StartTLS requests the LDAP server upgrades to TLS encryption. +func (lc *LDAPConnectionImpl) StartTLS(config *tls.Config) error { + return lc.conn.StartTLS(config) +} diff --git a/internal/authentication/ldap_connection_factory.go b/internal/authentication/ldap_connection_factory.go index a000ad005..9cddd168c 100644 --- a/internal/authentication/ldap_connection_factory.go +++ b/internal/authentication/ldap_connection_factory.go @@ -1,67 +1,9 @@ package authentication import ( - "crypto/tls" - "github.com/go-ldap/ldap/v3" ) -// ********************* CONNECTION *********************. - -// LDAPConnection interface representing a connection to the ldap. -type LDAPConnection interface { - Bind(username, password string) error - Close() - - Search(searchRequest *ldap.SearchRequest) (*ldap.SearchResult, error) - Modify(modifyRequest *ldap.ModifyRequest) error - PasswordModify(pwdModifyRequest *ldap.PasswordModifyRequest) error - StartTLS(config *tls.Config) error -} - -// LDAPConnectionImpl the production implementation of an ldap connection. -type LDAPConnectionImpl struct { - conn *ldap.Conn -} - -// NewLDAPConnectionImpl create a new ldap connection. -func NewLDAPConnectionImpl(conn *ldap.Conn) *LDAPConnectionImpl { - return &LDAPConnectionImpl{conn} -} - -// Bind binds ldap connection to a username/password. -func (lc *LDAPConnectionImpl) Bind(username, password string) error { - return lc.conn.Bind(username, password) -} - -// Close closes a ldap connection. -func (lc *LDAPConnectionImpl) Close() { - lc.conn.Close() -} - -// Search searches a ldap server. -func (lc *LDAPConnectionImpl) Search(searchRequest *ldap.SearchRequest) (*ldap.SearchResult, error) { - return lc.conn.Search(searchRequest) -} - -// Modify modifies an ldap object. -func (lc *LDAPConnectionImpl) Modify(modifyRequest *ldap.ModifyRequest) error { - return lc.conn.Modify(modifyRequest) -} - -// PasswordModify modifies an ldap objects password. -func (lc *LDAPConnectionImpl) PasswordModify(pwdModifyRequest *ldap.PasswordModifyRequest) error { - _, err := lc.conn.PasswordModify(pwdModifyRequest) - return err -} - -// StartTLS requests the LDAP server upgrades to TLS encryption. -func (lc *LDAPConnectionImpl) StartTLS(config *tls.Config) error { - return lc.conn.StartTLS(config) -} - -// ********************* FACTORY ***********************. - // LDAPConnectionFactory an interface of factory of ldap connections. type LDAPConnectionFactory interface { DialURL(addr string, opts ...ldap.DialOpt) (LDAPConnection, error) @@ -82,5 +24,5 @@ func (lcf *LDAPConnectionFactoryImpl) DialURL(addr string, opts ...ldap.DialOpt) return nil, err } - return NewLDAPConnectionImpl(conn), nil + return conn, nil } diff --git a/internal/authentication/ldap_connection_factory_mock.go b/internal/authentication/ldap_connection_factory_mock.go index ef2777d1d..08b041155 100644 --- a/internal/authentication/ldap_connection_factory_mock.go +++ b/internal/authentication/ldap_connection_factory_mock.go @@ -1,121 +1,16 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: ldap_connection_factory.go +// Source: github.com/authelia/authelia/v4/internal/authentication (interfaces: LDAPConnectionFactory) + +// Package authentication is a generated GoMock package. package authentication import ( - tls "crypto/tls" reflect "reflect" - ldap "github.com/go-ldap/ldap/v3" + v3 "github.com/go-ldap/ldap/v3" gomock "github.com/golang/mock/gomock" ) -// MockLDAPConnection is a mock of LDAPConnection interface. -type MockLDAPConnection struct { - ctrl *gomock.Controller - recorder *MockLDAPConnectionMockRecorder -} - -// MockLDAPConnectionMockRecorder is the mock recorder for MockLDAPConnection. -type MockLDAPConnectionMockRecorder struct { - mock *MockLDAPConnection -} - -// NewMockLDAPConnection creates a new mock instance. -func NewMockLDAPConnection(ctrl *gomock.Controller) *MockLDAPConnection { - mock := &MockLDAPConnection{ctrl: ctrl} - mock.recorder = &MockLDAPConnectionMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockLDAPConnection) EXPECT() *MockLDAPConnectionMockRecorder { - return m.recorder -} - -// Bind mocks base method. -func (m *MockLDAPConnection) 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 *MockLDAPConnectionMockRecorder) Bind(username, password interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Bind", reflect.TypeOf((*MockLDAPConnection)(nil).Bind), username, password) -} - -// Close mocks base method. -func (m *MockLDAPConnection) Close() { - m.ctrl.T.Helper() - m.ctrl.Call(m, "Close") -} - -// Close indicates an expected call of Close. -func (mr *MockLDAPConnectionMockRecorder) Close() *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockLDAPConnection)(nil).Close)) -} - -// Modify mocks base method. -func (m *MockLDAPConnection) Modify(modifyRequest *ldap.ModifyRequest) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Modify", modifyRequest) - ret0, _ := ret[0].(error) - return ret0 -} - -// Modify indicates an expected call of Modify. -func (mr *MockLDAPConnectionMockRecorder) Modify(modifyRequest interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Modify", reflect.TypeOf((*MockLDAPConnection)(nil).Modify), modifyRequest) -} - -// PasswordModify mocks base method. -func (m *MockLDAPConnection) PasswordModify(pwdModifyRequest *ldap.PasswordModifyRequest) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "PasswordModify", pwdModifyRequest) - ret0, _ := ret[0].(error) - return ret0 -} - -// PasswordModify indicates an expected call of PasswordModify. -func (mr *MockLDAPConnectionMockRecorder) PasswordModify(pwdModifyRequest interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PasswordModify", reflect.TypeOf((*MockLDAPConnection)(nil).PasswordModify), pwdModifyRequest) -} - -// Search mocks base method. -func (m *MockLDAPConnection) Search(searchRequest *ldap.SearchRequest) (*ldap.SearchResult, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Search", searchRequest) - ret0, _ := ret[0].(*ldap.SearchResult) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// Search indicates an expected call of Search. -func (mr *MockLDAPConnectionMockRecorder) Search(searchRequest interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Search", reflect.TypeOf((*MockLDAPConnection)(nil).Search), searchRequest) -} - -// StartTLS mocks base method. -func (m *MockLDAPConnection) StartTLS(config *tls.Config) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "StartTLS", config) - ret0, _ := ret[0].(error) - return ret0 -} - -// StartTLS indicates an expected call of StartTLS. -func (mr *MockLDAPConnectionMockRecorder) StartTLS(config interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartTLS", reflect.TypeOf((*MockLDAPConnection)(nil).StartTLS), config) -} - // MockLDAPConnectionFactory is a mock of LDAPConnectionFactory interface. type MockLDAPConnectionFactory struct { ctrl *gomock.Controller @@ -140,10 +35,10 @@ func (m *MockLDAPConnectionFactory) EXPECT() *MockLDAPConnectionFactoryMockRecor } // DialURL mocks base method. -func (m *MockLDAPConnectionFactory) DialURL(addr string, opts ...ldap.DialOpt) (LDAPConnection, error) { +func (m *MockLDAPConnectionFactory) DialURL(arg0 string, arg1 ...v3.DialOpt) (LDAPConnection, error) { m.ctrl.T.Helper() - varargs := []interface{}{addr} - for _, a := range opts { + varargs := []interface{}{arg0} + for _, a := range arg1 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "DialURL", varargs...) @@ -153,8 +48,8 @@ func (m *MockLDAPConnectionFactory) DialURL(addr string, opts ...ldap.DialOpt) ( } // DialURL indicates an expected call of DialURL. -func (mr *MockLDAPConnectionFactoryMockRecorder) DialURL(addr interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLDAPConnectionFactoryMockRecorder) DialURL(arg0 interface{}, arg1 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{addr}, opts...) + varargs := append([]interface{}{arg0}, arg1...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DialURL", reflect.TypeOf((*MockLDAPConnectionFactory)(nil).DialURL), varargs...) } diff --git a/internal/authentication/ldap_connection_mock.go b/internal/authentication/ldap_connection_mock.go new file mode 100644 index 000000000..b234da161 --- /dev/null +++ b/internal/authentication/ldap_connection_mock.go @@ -0,0 +1,120 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/authelia/authelia/v4/internal/authentication (interfaces: LDAPConnection) + +// Package authentication is a generated GoMock package. +package authentication + +import ( + tls "crypto/tls" + reflect "reflect" + + ldap "github.com/go-ldap/ldap/v3" + gomock "github.com/golang/mock/gomock" +) + +// MockLDAPConnection is a mock of LDAPConnection interface. +type MockLDAPConnection struct { + ctrl *gomock.Controller + recorder *MockLDAPConnectionMockRecorder +} + +// MockLDAPConnectionMockRecorder is the mock recorder for MockLDAPConnection. +type MockLDAPConnectionMockRecorder struct { + mock *MockLDAPConnection +} + +// NewMockLDAPConnection creates a new mock instance. +func NewMockLDAPConnection(ctrl *gomock.Controller) *MockLDAPConnection { + mock := &MockLDAPConnection{ctrl: ctrl} + mock.recorder = &MockLDAPConnectionMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockLDAPConnection) EXPECT() *MockLDAPConnectionMockRecorder { + return m.recorder +} + +// Bind mocks base method. +func (m *MockLDAPConnection) Bind(arg0, arg1 string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Bind", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// Bind indicates an expected call of Bind. +func (mr *MockLDAPConnectionMockRecorder) Bind(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Bind", reflect.TypeOf((*MockLDAPConnection)(nil).Bind), arg0, arg1) +} + +// Close mocks base method. +func (m *MockLDAPConnection) Close() { + m.ctrl.T.Helper() + m.ctrl.Call(m, "Close") +} + +// Close indicates an expected call of Close. +func (mr *MockLDAPConnectionMockRecorder) Close() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockLDAPConnection)(nil).Close)) +} + +// Modify mocks base method. +func (m *MockLDAPConnection) 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 *MockLDAPConnectionMockRecorder) Modify(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Modify", reflect.TypeOf((*MockLDAPConnection)(nil).Modify), arg0) +} + +// PasswordModify mocks base method. +func (m *MockLDAPConnection) 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 *MockLDAPConnectionMockRecorder) PasswordModify(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PasswordModify", reflect.TypeOf((*MockLDAPConnection)(nil).PasswordModify), arg0) +} + +// Search mocks base method. +func (m *MockLDAPConnection) 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 *MockLDAPConnectionMockRecorder) Search(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Search", reflect.TypeOf((*MockLDAPConnection)(nil).Search), arg0) +} + +// StartTLS mocks base method. +func (m *MockLDAPConnection) 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 *MockLDAPConnectionMockRecorder) StartTLS(arg0 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartTLS", reflect.TypeOf((*MockLDAPConnection)(nil).StartTLS), arg0) +} diff --git a/internal/authentication/ldap_user_provider.go b/internal/authentication/ldap_user_provider.go index d61244767..e12c58f3f 100644 --- a/internal/authentication/ldap_user_provider.go +++ b/internal/authentication/ldap_user_provider.go @@ -300,7 +300,7 @@ func (p *LDAPUserProvider) UpdatePassword(inputUsername string, newPassword stri newPassword, ) - err = conn.PasswordModify(modifyRequest) + _, err = conn.PasswordModify(modifyRequest) case p.configuration.Implementation == schema.LDAPImplementationActiveDirectory: modifyRequest := ldap.NewModifyRequest(profile.DN, nil) utf16 := unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM) diff --git a/internal/authentication/ldap_user_provider_test.go b/internal/authentication/ldap_user_provider_test.go index b9ee70638..00eb5fd6f 100644 --- a/internal/authentication/ldap_user_provider_test.go +++ b/internal/authentication/ldap_user_provider_test.go @@ -750,7 +750,7 @@ func TestShouldUpdateUserPasswordPasswdModifyExtension(t *testing.T) { passwdModify := mockConn.EXPECT(). PasswordModify(pwdModifyRequest). - Return(nil) + Return(nil, nil) gomock.InOrder(dialURLOIDs, connBindOIDs, searchOIDs, connCloseOIDs, dialURL, connBind, searchProfile, passwdModify, connClose) diff --git a/internal/mocks/generate.go b/internal/mocks/gen.go similarity index 100% rename from internal/mocks/generate.go rename to internal/mocks/gen.go diff --git a/internal/mocks/storage.go b/internal/mocks/storage.go index 5fb500c57..9c1ccce4d 100644 --- a/internal/mocks/storage.go +++ b/internal/mocks/storage.go @@ -11,7 +11,7 @@ import ( gomock "github.com/golang/mock/gomock" - models "github.com/authelia/authelia/v4/internal/model" + model "github.com/authelia/authelia/v4/internal/model" ) // MockStorage is a mock of Provider interface. @@ -38,7 +38,7 @@ func (m *MockStorage) EXPECT() *MockStorageMockRecorder { } // AppendAuthenticationLog mocks base method. -func (m *MockStorage) AppendAuthenticationLog(arg0 context.Context, arg1 models.AuthenticationAttempt) error { +func (m *MockStorage) AppendAuthenticationLog(arg0 context.Context, arg1 model.AuthenticationAttempt) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AppendAuthenticationLog", arg0, arg1) ret0, _ := ret[0].(error) @@ -66,7 +66,7 @@ func (mr *MockStorageMockRecorder) Close() *gomock.Call { } // ConsumeIdentityVerification mocks base method. -func (m *MockStorage) ConsumeIdentityVerification(arg0 context.Context, arg1 string, arg2 models.NullIP) error { +func (m *MockStorage) ConsumeIdentityVerification(arg0 context.Context, arg1 string, arg2 model.NullIP) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "ConsumeIdentityVerification", arg0, arg1, arg2) ret0, _ := ret[0].(error) @@ -123,10 +123,10 @@ func (mr *MockStorageMockRecorder) FindIdentityVerification(arg0, arg1 interface } // LoadAuthenticationLogs mocks base method. -func (m *MockStorage) LoadAuthenticationLogs(arg0 context.Context, arg1 string, arg2 time.Time, arg3, arg4 int) ([]models.AuthenticationAttempt, error) { +func (m *MockStorage) LoadAuthenticationLogs(arg0 context.Context, arg1 string, arg2 time.Time, arg3, arg4 int) ([]model.AuthenticationAttempt, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LoadAuthenticationLogs", arg0, arg1, arg2, arg3, arg4) - ret0, _ := ret[0].([]models.AuthenticationAttempt) + ret0, _ := ret[0].([]model.AuthenticationAttempt) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -153,10 +153,10 @@ func (mr *MockStorageMockRecorder) LoadPreferred2FAMethod(arg0, arg1 interface{} } // LoadPreferredDuoDevice mocks base method. -func (m *MockStorage) LoadPreferredDuoDevice(arg0 context.Context, arg1 string) (*models.DuoDevice, error) { +func (m *MockStorage) LoadPreferredDuoDevice(arg0 context.Context, arg1 string) (*model.DuoDevice, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LoadPreferredDuoDevice", arg0, arg1) - ret0, _ := ret[0].(*models.DuoDevice) + ret0, _ := ret[0].(*model.DuoDevice) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -168,10 +168,10 @@ func (mr *MockStorageMockRecorder) LoadPreferredDuoDevice(arg0, arg1 interface{} } // LoadTOTPConfiguration mocks base method. -func (m *MockStorage) LoadTOTPConfiguration(arg0 context.Context, arg1 string) (*models.TOTPConfiguration, error) { +func (m *MockStorage) LoadTOTPConfiguration(arg0 context.Context, arg1 string) (*model.TOTPConfiguration, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LoadTOTPConfiguration", arg0, arg1) - ret0, _ := ret[0].(*models.TOTPConfiguration) + ret0, _ := ret[0].(*model.TOTPConfiguration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -183,10 +183,10 @@ func (mr *MockStorageMockRecorder) LoadTOTPConfiguration(arg0, arg1 interface{}) } // LoadTOTPConfigurations mocks base method. -func (m *MockStorage) LoadTOTPConfigurations(arg0 context.Context, arg1, arg2 int) ([]models.TOTPConfiguration, error) { +func (m *MockStorage) LoadTOTPConfigurations(arg0 context.Context, arg1, arg2 int) ([]model.TOTPConfiguration, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LoadTOTPConfigurations", arg0, arg1, arg2) - ret0, _ := ret[0].([]models.TOTPConfiguration) + ret0, _ := ret[0].([]model.TOTPConfiguration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -198,10 +198,10 @@ func (mr *MockStorageMockRecorder) LoadTOTPConfigurations(arg0, arg1, arg2 inter } // LoadUserInfo mocks base method. -func (m *MockStorage) LoadUserInfo(arg0 context.Context, arg1 string) (models.UserInfo, error) { +func (m *MockStorage) LoadUserInfo(arg0 context.Context, arg1 string) (model.UserInfo, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LoadUserInfo", arg0, arg1) - ret0, _ := ret[0].(models.UserInfo) + ret0, _ := ret[0].(model.UserInfo) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -213,10 +213,10 @@ func (mr *MockStorageMockRecorder) LoadUserInfo(arg0, arg1 interface{}) *gomock. } // LoadWebauthnDevices mocks base method. -func (m *MockStorage) LoadWebauthnDevices(arg0 context.Context, arg1, arg2 int) ([]models.WebauthnDevice, error) { +func (m *MockStorage) LoadWebauthnDevices(arg0 context.Context, arg1, arg2 int) ([]model.WebauthnDevice, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LoadWebauthnDevices", arg0, arg1, arg2) - ret0, _ := ret[0].([]models.WebauthnDevice) + ret0, _ := ret[0].([]model.WebauthnDevice) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -228,10 +228,10 @@ func (mr *MockStorageMockRecorder) LoadWebauthnDevices(arg0, arg1, arg2 interfac } // LoadWebauthnDevicesByUsername mocks base method. -func (m *MockStorage) LoadWebauthnDevicesByUsername(arg0 context.Context, arg1 string) ([]models.WebauthnDevice, error) { +func (m *MockStorage) LoadWebauthnDevicesByUsername(arg0 context.Context, arg1 string) ([]model.WebauthnDevice, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LoadWebauthnDevicesByUsername", arg0, arg1) - ret0, _ := ret[0].([]models.WebauthnDevice) + ret0, _ := ret[0].([]model.WebauthnDevice) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -243,7 +243,7 @@ func (mr *MockStorageMockRecorder) LoadWebauthnDevicesByUsername(arg0, arg1 inte } // SaveIdentityVerification mocks base method. -func (m *MockStorage) SaveIdentityVerification(arg0 context.Context, arg1 models.IdentityVerification) error { +func (m *MockStorage) SaveIdentityVerification(arg0 context.Context, arg1 model.IdentityVerification) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SaveIdentityVerification", arg0, arg1) ret0, _ := ret[0].(error) @@ -271,7 +271,7 @@ func (mr *MockStorageMockRecorder) SavePreferred2FAMethod(arg0, arg1, arg2 inter } // SavePreferredDuoDevice mocks base method. -func (m *MockStorage) SavePreferredDuoDevice(arg0 context.Context, arg1 models.DuoDevice) error { +func (m *MockStorage) SavePreferredDuoDevice(arg0 context.Context, arg1 model.DuoDevice) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SavePreferredDuoDevice", arg0, arg1) ret0, _ := ret[0].(error) @@ -285,7 +285,7 @@ func (mr *MockStorageMockRecorder) SavePreferredDuoDevice(arg0, arg1 interface{} } // SaveTOTPConfiguration mocks base method. -func (m *MockStorage) SaveTOTPConfiguration(arg0 context.Context, arg1 models.TOTPConfiguration) error { +func (m *MockStorage) SaveTOTPConfiguration(arg0 context.Context, arg1 model.TOTPConfiguration) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SaveTOTPConfiguration", arg0, arg1) ret0, _ := ret[0].(error) @@ -299,7 +299,7 @@ func (mr *MockStorageMockRecorder) SaveTOTPConfiguration(arg0, arg1 interface{}) } // SaveWebauthnDevice mocks base method. -func (m *MockStorage) SaveWebauthnDevice(arg0 context.Context, arg1 models.WebauthnDevice) error { +func (m *MockStorage) SaveWebauthnDevice(arg0 context.Context, arg1 model.WebauthnDevice) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SaveWebauthnDevice", arg0, arg1) ret0, _ := ret[0].(error) @@ -370,10 +370,10 @@ func (mr *MockStorageMockRecorder) SchemaMigrate(arg0, arg1, arg2 interface{}) * } // SchemaMigrationHistory mocks base method. -func (m *MockStorage) SchemaMigrationHistory(arg0 context.Context) ([]models.Migration, error) { +func (m *MockStorage) SchemaMigrationHistory(arg0 context.Context) ([]model.Migration, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SchemaMigrationHistory", arg0) - ret0, _ := ret[0].([]models.Migration) + ret0, _ := ret[0].([]model.Migration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -385,10 +385,10 @@ func (mr *MockStorageMockRecorder) SchemaMigrationHistory(arg0 interface{}) *gom } // SchemaMigrationsDown mocks base method. -func (m *MockStorage) SchemaMigrationsDown(arg0 context.Context, arg1 int) ([]models.SchemaMigration, error) { +func (m *MockStorage) SchemaMigrationsDown(arg0 context.Context, arg1 int) ([]model.SchemaMigration, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SchemaMigrationsDown", arg0, arg1) - ret0, _ := ret[0].([]models.SchemaMigration) + ret0, _ := ret[0].([]model.SchemaMigration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -400,10 +400,10 @@ func (mr *MockStorageMockRecorder) SchemaMigrationsDown(arg0, arg1 interface{}) } // SchemaMigrationsUp mocks base method. -func (m *MockStorage) SchemaMigrationsUp(arg0 context.Context, arg1 int) ([]models.SchemaMigration, error) { +func (m *MockStorage) SchemaMigrationsUp(arg0 context.Context, arg1 int) ([]model.SchemaMigration, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SchemaMigrationsUp", arg0, arg1) - ret0, _ := ret[0].([]models.SchemaMigration) + ret0, _ := ret[0].([]model.SchemaMigration) ret1, _ := ret[1].(error) return ret0, ret1 } diff --git a/internal/mocks/totp.go b/internal/mocks/totp.go index a08b44e71..c87855d07 100644 --- a/internal/mocks/totp.go +++ b/internal/mocks/totp.go @@ -9,7 +9,7 @@ import ( gomock "github.com/golang/mock/gomock" - models "github.com/authelia/authelia/v4/internal/model" + model "github.com/authelia/authelia/v4/internal/model" ) // MockTOTP is a mock of Provider interface. @@ -36,10 +36,10 @@ func (m *MockTOTP) EXPECT() *MockTOTPMockRecorder { } // Generate mocks base method. -func (m *MockTOTP) Generate(arg0 string) (*models.TOTPConfiguration, error) { +func (m *MockTOTP) Generate(arg0 string) (*model.TOTPConfiguration, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Generate", arg0) - ret0, _ := ret[0].(*models.TOTPConfiguration) + ret0, _ := ret[0].(*model.TOTPConfiguration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -51,10 +51,10 @@ func (mr *MockTOTPMockRecorder) Generate(arg0 interface{}) *gomock.Call { } // GenerateCustom mocks base method. -func (m *MockTOTP) GenerateCustom(arg0, arg1 string, arg2, arg3, arg4 uint) (*models.TOTPConfiguration, error) { +func (m *MockTOTP) GenerateCustom(arg0, arg1 string, arg2, arg3, arg4 uint) (*model.TOTPConfiguration, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GenerateCustom", arg0, arg1, arg2, arg3, arg4) - ret0, _ := ret[0].(*models.TOTPConfiguration) + ret0, _ := ret[0].(*model.TOTPConfiguration) ret1, _ := ret[1].(error) return ret0, ret1 } @@ -66,7 +66,7 @@ func (mr *MockTOTPMockRecorder) GenerateCustom(arg0, arg1, arg2, arg3, arg4 inte } // Validate mocks base method. -func (m *MockTOTP) Validate(arg0 string, arg1 *models.TOTPConfiguration) (bool, error) { +func (m *MockTOTP) Validate(arg0 string, arg1 *model.TOTPConfiguration) (bool, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Validate", arg0, arg1) ret0, _ := ret[0].(bool)