Skip to content

Commit c6b7f3a

Browse files
committed
Enhance Mobile Number Verification Process with Retry Logic
This update introduces retry logic for mobile number verification to address issues where the verification code received was sometimes outdated, leading to login failures. The new implementation ensures that multiple attempts are made to retrieve the latest verification code, improving the reliability of the verification process.
1 parent 6c686a5 commit c6b7f3a

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

tests/test_utils.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import os
55
import re
66
import tempfile
7+
import time
78
import uuid
89
from datetime import UTC, datetime
910

@@ -98,11 +99,19 @@ def get_link(template_id, email):
9899
delay=config["verify_code_retry_interval"],
99100
)
100101
def do_verify(driver, mobile_number):
101-
verify_code = get_verify_code_from_api(mobile_number)
102102
verify_page = VerifyPage(driver)
103-
verify_page.verify(verify_code)
104-
if not verify_page.verify_code_successful():
105-
raise RetryException
103+
104+
# Retry verification up to 3 times
105+
for i in range(3):
106+
time.sleep(1) # wait a moment for the code to arrive
107+
verify_code = get_verify_code_from_api(mobile_number)
108+
verify_page.verify(verify_code)
109+
110+
if verify_page.verify_code_successful():
111+
return
112+
113+
# If all 3 attempts failed, raise an exception
114+
raise RetryException("Verification failed after 3 attempts")
106115

107116

108117
def do_email_auth_verify(driver):

0 commit comments

Comments
 (0)