@@ -152,16 +152,37 @@ def test_login(mc):
152
152
assert MerginClient (mc .url , auth_token = token )
153
153
154
154
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 } " ):
156
156
decode_token_data (invalid_token )
157
157
158
158
invalid_token = "Bearer .jas646kgfa"
159
159
with pytest .raises (TokenError , match = f"Invalid token data: { invalid_token } " ):
160
160
decode_token_data (invalid_token )
161
161
162
+ invalid_token = "Bearer jas646kgfa"
163
+ with pytest .raises (TokenError , match = f"Invalid token data: { invalid_token } " ):
164
+ decode_token_data (invalid_token )
165
+
162
166
with pytest .raises (LoginError , match = "Invalid username or password" ):
163
167
mc .login ("foo" , "bar" )
164
168
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
+
165
186
166
187
def test_create_delete_project (mc : MerginClient ):
167
188
test_project = "test_create_delete"
0 commit comments