From 0ed78f1ccb9fedcaaf752753bd8f2476f1ec0f72 Mon Sep 17 00:00:00 2001 From: Jakub Date: Wed, 23 Mar 2022 13:17:13 +0100 Subject: [PATCH] GODT-1524: Fix tests. --- BUILDS.md | 4 +++- internal/store/event_loop.go | 2 +- internal/users/user_credentials_test.go | 2 +- internal/users/users_new_test.go | 4 ++-- internal/users/users_test.go | 3 +-- pkg/pmapi/auth_test.go | 9 ++++++++- 6 files changed, 16 insertions(+), 8 deletions(-) diff --git a/BUILDS.md b/BUILDS.md index e426b32b..c2df4d0c 100644 --- a/BUILDS.md +++ b/BUILDS.md @@ -1,7 +1,9 @@ # Building ProtonMail Bridge and Import-Export app ## Prerequisites -* 64-bit OS (the go-rfc5322 module cannot currently be compiled for 32-bit OSes) +* 64-bit AMD OS: + - the go-rfc5322 module cannot currently be compiled for 32-bit OSes + - the Apple M1 builds are not supported yet due to dependencies * Go 1.13 * Bash with basic build utils: make, gcc, sed, find, grep, ... * For Windows it is recommended to use MinGW 64bit shell from [MSYS2](https://www.msys2.org/) diff --git a/internal/store/event_loop.go b/internal/store/event_loop.go index 5c3cb093..8e87f306 100644 --- a/internal/store/event_loop.go +++ b/internal/store/event_loop.go @@ -243,7 +243,7 @@ func (loop *eventLoop) processNextEvent() (more bool, err error) { // nolint[fun } // All errors except ErrUnauthorized (which is not possible to recover from) are ignored. - if err != nil && errors.Cause(err) != pmapi.ErrUnauthorized { + if err != nil && !pmapi.IsFailedAuth(errors.Cause(err)) && errors.Cause(err) != pmapi.ErrUnauthorized { l.WithError(err).WithField("errors", loop.errCounter).Error("Error skipped") loop.errCounter++ if loop.errCounter == errMaxSentry { diff --git a/internal/users/user_credentials_test.go b/internal/users/user_credentials_test.go index 97cd02c9..bd7b8a74 100644 --- a/internal/users/user_credentials_test.go +++ b/internal/users/user_credentials_test.go @@ -170,7 +170,7 @@ func TestCheckBridgeLoginLoggedOut(t *testing.T) { // Mock init of user. m.credentialsStore.EXPECT().Get("user").Return(testCredentialsDisconnected, nil), m.pmapiClient.EXPECT().AddAuthRefreshHandler(gomock.Any()), - m.pmapiClient.EXPECT().ListLabels(gomock.Any()).Return(nil, errors.New("ErrUnauthorized")), + m.pmapiClient.EXPECT().ListLabels(gomock.Any()).Return(nil, pmapi.ErrUnauthorized), m.pmapiClient.EXPECT().Addresses().Return(nil), // Mock CheckBridgeLogin. diff --git a/internal/users/users_new_test.go b/internal/users/users_new_test.go index a7833a89..21a34627 100644 --- a/internal/users/users_new_test.go +++ b/internal/users/users_new_test.go @@ -81,11 +81,11 @@ func TestNewUsersWithConnectedUserWithBadToken(t *testing.T) { m := initMocks(t) defer m.ctrl.Finish() - m.clientManager.EXPECT().NewClientWithRefresh(gomock.Any(), "uid", "acc").Return(nil, nil, pmapi.ErrBadRequest{OriginalError: errors.New("bad token")}) + m.clientManager.EXPECT().NewClientWithRefresh(gomock.Any(), "uid", "acc").Return(nil, nil, pmapi.ErrAuthFailed{OriginalError: errors.New("bad token")}) m.clientManager.EXPECT().NewClient("uid", "", "acc", time.Time{}).Return(m.pmapiClient) m.pmapiClient.EXPECT().AddAuthRefreshHandler(gomock.Any()) m.pmapiClient.EXPECT().IsUnlocked().Return(false) - m.pmapiClient.EXPECT().Unlock(gomock.Any(), testCredentials.MailboxPassword).Return(pmapi.ErrBadRequest{OriginalError: errors.New("not authorized")}) + m.pmapiClient.EXPECT().Unlock(gomock.Any(), testCredentials.MailboxPassword).Return(pmapi.ErrAuthFailed{OriginalError: errors.New("not authorized")}) m.pmapiClient.EXPECT().AuthDelete(gomock.Any()) m.credentialsStore.EXPECT().List().Return([]string{"user"}, nil) diff --git a/internal/users/users_test.go b/internal/users/users_test.go index af90aa80..e1d60a96 100644 --- a/internal/users/users_test.go +++ b/internal/users/users_test.go @@ -37,7 +37,6 @@ import ( pmapimocks "github.com/ProtonMail/proton-bridge/pkg/pmapi/mocks" tests "github.com/ProtonMail/proton-bridge/test" gomock "github.com/golang/mock/gomock" - "github.com/pkg/errors" "github.com/sirupsen/logrus" r "github.com/stretchr/testify/require" ) @@ -331,7 +330,7 @@ func mockInitDisconnectedUser(m mocks) { m.pmapiClient.EXPECT().AddAuthRefreshHandler(gomock.Any()), // Mock of store initialisation for the unauthorized user. - m.pmapiClient.EXPECT().ListLabels(gomock.Any()).Return(nil, errors.New("ErrUnauthorized")), + m.pmapiClient.EXPECT().ListLabels(gomock.Any()).Return(nil, pmapi.ErrUnauthorized), m.pmapiClient.EXPECT().Addresses().Return(nil), ) } diff --git a/pkg/pmapi/auth_test.go b/pkg/pmapi/auth_test.go index fbcad362..2806679d 100644 --- a/pkg/pmapi/auth_test.go +++ b/pkg/pmapi/auth_test.go @@ -196,7 +196,14 @@ func Test401ExpiredAuthUpdateUser(t *testing.T) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) - if err := json.NewEncoder(w).Encode(testAddressList); err != nil { + respObj := struct { + Code int + Addresses []*Address + }{ + Code: 1000, + Addresses: []*Address{}, + } + if err := json.NewEncoder(w).Encode(respObj); err != nil { panic(err) } })