1
1
import re
2
2
import string
3
3
import random
4
- from datetime import timedelta , UTC , datetime
4
+ from datetime import timedelta
5
5
from urllib .parse import urlparse , parse_qs
6
6
from starlette .datastructures import URLPath
7
7
from main import app
15
15
COMPILED_PASSWORD_PATTERN ,
16
16
convert_python_regex_to_html ,
17
17
generate_email_update_url ,
18
- send_email_update_confirmation ,
19
- get_user_from_email_update_token
18
+ send_email_update_confirmation
20
19
)
21
20
from unittest .mock import patch , MagicMock
22
- from utils .models import User , EmailUpdateToken
21
+ from utils .models import Account , EmailUpdateToken
23
22
24
23
25
24
def test_convert_python_regex_to_html () -> None :
@@ -157,11 +156,11 @@ def test_email_update_url_generation() -> None:
157
156
Tests that the email update confirmation URL is correctly formatted and contains
158
157
the required query parameters.
159
158
"""
160
- test_user_id = 123
159
+ test_account_id = 123
161
160
test_token = "abc123"
162
161
test_new_email = "[email protected] "
163
162
164
- url = generate_email_update_url (test_user_id , test_token , test_new_email )
163
+ url = generate_email_update_url (test_account_id , test_token , test_new_email )
165
164
166
165
# Parse the URL
167
166
parsed = urlparse (url )
@@ -174,10 +173,10 @@ def test_email_update_url_generation() -> None:
174
173
assert parsed .path == str (confirm_email_path )
175
174
176
175
# Verify query parameters
177
- assert "user_id " in query_params
176
+ assert "account_id " in query_params
178
177
assert "token" in query_params
179
178
assert "new_email" in query_params
180
- assert query_params ["user_id " ][0 ] == str (test_user_id )
179
+ assert query_params ["account_id " ][0 ] == str (test_account_id )
181
180
assert query_params ["token" ][0 ] == test_token
182
181
assert query_params ["new_email" ][0 ] == test_new_email
183
182
@@ -192,13 +191,13 @@ def test_send_email_update_confirmation(mock_send: MagicMock) -> None:
192
191
193
192
current_email = "[email protected] "
194
193
195
- user_id = 123
194
+ account_id = 123
196
195
197
196
# Mock successful email send
198
197
mock_send .return_value = {"id" : "test_email_id" }
199
198
200
199
# Test successful email sending
201
- send_email_update_confirmation (current_email , new_email , user_id , session )
200
+ send_email_update_confirmation (current_email , new_email , account_id , session )
202
201
203
202
# Verify session interactions
204
203
assert session .add .called
@@ -216,35 +215,9 @@ def test_send_email_update_confirmation(mock_send: MagicMock) -> None:
216
215
session .reset_mock ()
217
216
session .exec .return_value .first .return_value = EmailUpdateToken () # Existing token
218
217
219
- send_email_update_confirmation (current_email , new_email , user_id , session )
218
+ send_email_update_confirmation (current_email , new_email , account_id , session )
220
219
221
220
# Verify no new token was created or email sent
222
221
assert not session .add .called
223
222
assert not session .commit .called
224
223
assert mock_send .call_count == 1 # Still just one call from before
225
-
226
- def test_get_user_from_email_update_token () -> None :
227
- """
228
- Tests retrieving a user using an email update token.
229
- """
230
- session = MagicMock ()
231
-
232
- # Test valid token
233
- mock_user = User (
id = 1 ,
email = "[email protected] " )
234
- mock_token = EmailUpdateToken (
235
- user_id = 1 ,
236
- token = "valid_token" ,
237
- expires_at = datetime .now (UTC ) + timedelta (hours = 1 ),
238
- used = False
239
- )
240
- session .exec .return_value .first .return_value = (mock_user , mock_token )
241
-
242
- user , token = get_user_from_email_update_token (1 , "valid_token" , session )
243
- assert user == mock_user
244
- assert token == mock_token
245
-
246
- # Test invalid token
247
- session .exec .return_value .first .return_value = None
248
- user , token = get_user_from_email_update_token (1 , "invalid_token" , session )
249
- assert user is None
250
- assert token is None
0 commit comments