@@ -44,37 +44,38 @@ func TestError(t *testing.T) {
4444 }
4545
4646 appErrors := map [string ]expectedError {
47- "ErrDefault" : {code : 500 , err : ErrDefault },
48- "ErrInvalidLogin" : { code : 401 , err : ErrInvalidLogin },
49- "ErrForbidden" : {code : 403 , err : ErrForbidden },
50- "ErrFileTooLarge" : {code : 413 , err : ErrFileTooLarge },
51- "ErrInvalidSession" : {code : 401 , err : ErrInvalidSession },
52- "ErrNotFound" : {code : 404 , err : ErrNotFound },
53- "ErrGroupAlreadyExists" : {code : 400 , err : ErrGroupAlreadyExists },
54- "ErrInvalidErasureCodingValue" : {code : 400 , err : ErrInvalidErasureCodingValue },
55- "ErrBucketBodyNotInRequest" : {code : 400 , err : ErrBucketBodyNotInRequest },
56- "ErrBucketNameNotInRequest" : {code : 400 , err : ErrBucketNameNotInRequest },
57- "ErrGroupBodyNotInRequest" : {code : 400 , err : ErrGroupBodyNotInRequest },
58- "ErrGroupNameNotInRequest" : {code : 400 , err : ErrGroupNameNotInRequest },
59- "ErrPolicyNameNotInRequest" : {code : 400 , err : ErrPolicyNameNotInRequest },
60- "ErrPolicyBodyNotInRequest" : {code : 400 , err : ErrPolicyBodyNotInRequest },
61- "ErrInvalidEncryptionAlgorithm" : {code : 500 , err : ErrInvalidEncryptionAlgorithm },
62- "ErrSSENotConfigured" : {code : 404 , err : ErrSSENotConfigured },
63- "ErrBucketLifeCycleNotConfigured" : {code : 404 , err : ErrBucketLifeCycleNotConfigured },
64- "ErrChangePassword" : {code : 403 , err : ErrChangePassword },
65- "ErrInvalidLicense" : {code : 404 , err : ErrInvalidLicense },
66- "ErrLicenseNotFound" : {code : 404 , err : ErrLicenseNotFound },
67- "ErrAvoidSelfAccountDelete" : {code : 403 , err : ErrAvoidSelfAccountDelete },
68- "ErrAccessDenied" : { code : 403 , err : ErrAccessDenied },
47+ "ErrDefault" : {code : 500 , err : ErrDefault },
48+
49+ "ErrForbidden" : {code : 403 , err : ErrForbidden },
50+ "ErrFileTooLarge" : {code : 413 , err : ErrFileTooLarge },
51+ "ErrInvalidSession" : {code : 401 , err : ErrInvalidSession },
52+ "ErrNotFound" : {code : 404 , err : ErrNotFound },
53+ "ErrGroupAlreadyExists" : {code : 400 , err : ErrGroupAlreadyExists },
54+ "ErrInvalidErasureCodingValue" : {code : 400 , err : ErrInvalidErasureCodingValue },
55+ "ErrBucketBodyNotInRequest" : {code : 400 , err : ErrBucketBodyNotInRequest },
56+ "ErrBucketNameNotInRequest" : {code : 400 , err : ErrBucketNameNotInRequest },
57+ "ErrGroupBodyNotInRequest" : {code : 400 , err : ErrGroupBodyNotInRequest },
58+ "ErrGroupNameNotInRequest" : {code : 400 , err : ErrGroupNameNotInRequest },
59+ "ErrPolicyNameNotInRequest" : {code : 400 , err : ErrPolicyNameNotInRequest },
60+ "ErrPolicyBodyNotInRequest" : {code : 400 , err : ErrPolicyBodyNotInRequest },
61+ "ErrInvalidEncryptionAlgorithm" : {code : 500 , err : ErrInvalidEncryptionAlgorithm },
62+ "ErrSSENotConfigured" : {code : 404 , err : ErrSSENotConfigured },
63+ "ErrBucketLifeCycleNotConfigured" : {code : 404 , err : ErrBucketLifeCycleNotConfigured },
64+ "ErrChangePassword" : {code : 403 , err : ErrChangePassword },
65+ "ErrInvalidLicense" : {code : 404 , err : ErrInvalidLicense },
66+ "ErrLicenseNotFound" : {code : 404 , err : ErrLicenseNotFound },
67+ "ErrAvoidSelfAccountDelete" : {code : 403 , err : ErrAvoidSelfAccountDelete },
68+
6969 "ErrNonUniqueAccessKey" : {code : 500 , err : ErrNonUniqueAccessKey },
7070 "ErrRemoteTierExists" : {code : 400 , err : ErrRemoteTierExists },
7171 "ErrRemoteTierNotFound" : {code : 400 , err : ErrRemoteTierNotFound },
7272 "ErrRemoteTierUppercase" : {code : 400 , err : ErrRemoteTierUppercase },
7373 "ErrRemoteTierBucketNotFound" : {code : 400 , err : ErrRemoteTierBucketNotFound },
7474 "ErrRemoteInvalidCredentials" : {code : 403 , err : ErrRemoteInvalidCredentials },
75+ "ErrTooFewNodes" : {code : 500 , err : ErrTooFewNodes },
7576 "ErrUnableToGetTenantUsage" : {code : 500 , err : ErrUnableToGetTenantUsage },
7677 "ErrTooManyNodes" : {code : 500 , err : ErrTooManyNodes },
77- "ErrTooFewNodes " : {code : 500 , err : ErrTooFewNodes },
78+ "ErrAccessDenied " : {code : 403 , err : ErrAccessDenied },
7879 "ErrTooFewAvailableNodes" : {code : 500 , err : ErrTooFewAvailableNodes },
7980 "ErrFewerThanFourNodes" : {code : 500 , err : ErrFewerThanFourNodes },
8081 "ErrUnableToGetTenantLogs" : {code : 500 , err : ErrUnableToGetTenantLogs },
@@ -96,6 +97,7 @@ func TestError(t *testing.T) {
9697 },
9798 })
9899 }
100+
99101 tests = append (tests ,
100102 testError {
101103 name : "passing multiple errors but ErrInvalidLogin is last" ,
@@ -104,9 +106,21 @@ func TestError(t *testing.T) {
104106 },
105107 want : & CodedAPIError {
106108 Code : int (401 ),
107- APIError : & models.APIError {Message : ErrDefault .Error (), DetailedMessage : ErrDefault .Error ()},
109+ APIError : & models.APIError {Message : ErrDefault .Error (), DetailedMessage : "" },
110+ },
111+ })
112+ tests = append (tests ,
113+ testError {
114+ name : "login error omits detailedMessage" ,
115+ args : args {
116+ err : []interface {}{ErrInvalidLogin },
117+ },
118+ want : & CodedAPIError {
119+ Code : int (401 ),
120+ APIError : & models.APIError {Message : ErrInvalidLogin .Error (), DetailedMessage : "" },
108121 },
109122 })
123+
110124 for _ , tt := range tests {
111125 t .Run (tt .name , func (t * testing.T ) {
112126 got := Error (tt .args .err ... )
0 commit comments