@@ -152,16 +152,37 @@ def test_login(mc):
152152 assert MerginClient (mc .url , auth_token = token )
153153
154154 invalid_token = "Completely invalid token...."
155- with pytest .raises (TokenError , match = f"Token doesn't start with 'Bearer . ': { invalid_token } " ):
155+ with pytest .raises (TokenError , match = f"Token doesn't start with 'Bearer ': { invalid_token } " ):
156156 decode_token_data (invalid_token )
157157
158158 invalid_token = "Bearer .jas646kgfa"
159159 with pytest .raises (TokenError , match = f"Invalid token data: { invalid_token } " ):
160160 decode_token_data (invalid_token )
161161
162+ invalid_token = "Bearer jas646kgfa"
163+ with pytest .raises (TokenError , match = f"Invalid token data: { invalid_token } " ):
164+ decode_token_data (invalid_token )
165+
162166 with pytest .raises (LoginError , match = "Invalid username or password" ):
163167 mc .login ("foo" , "bar" )
164168
169+ valid_token_dot = "Bearer .eJxNi0kKgDAMAL8iubqQRuuSkz-RojkEWi0uIIh_Fz15G2aYC45N1kEnYJN9PLsgwOCijl5l3iEDCU793_VyuhC9FOMS3n5GXd-JkGyObU6UmI6pZoNFZRtbUorIiHA_KFshoA.abc.def"
170+ decoded_value = decode_token_data (valid_token_dot )
171+
172+ # expected: {'user_id': 1, 'username': 'apiclient', 'email': 'apiclient@example.com', 'expire': '2025-08-22 19:26:10.457532+00:00'}
173+ assert decoded_value ["user_id" ] == 1
174+ assert decoded_value ["username" ] == "apiclient"
175+ assert decoded_value ["email" ] == "apiclient@example.com"
176+ assert decoded_value ["expire" ] == "2025-08-22 19:26:10.457532+00:00"
177+
178+ valid_token_nodot = "Bearer eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6ImFwaSIsImVtYWlsIjoiYXBpQGUuY29tIn0.abc.def"
179+ decoded_value = decode_token_data (valid_token_nodot )
180+
181+ # expected: {'user_id': 1, 'username': 'api', 'email': 'api@e.com'}
182+ assert decoded_value ["user_id" ] == 1
183+ assert decoded_value ["username" ] == "api"
184+ assert decoded_value ["email" ] == "api@e.com"
185+
165186
166187def test_create_delete_project (mc : MerginClient ):
167188 test_project = "test_create_delete"
0 commit comments