mirror of
https://github.com/cnlimiter/codex-register.git
synced 2026-05-06 20:02:51 +08:00
fix: prevent secondary OTP from hanging
This commit is contained in:
@@ -23,7 +23,7 @@ class FakeHTTPClient:
|
||||
return self.responses.pop(0)
|
||||
|
||||
|
||||
def test_get_verification_code_ignores_messages_not_newer_than_otp_anchor(monkeypatch):
|
||||
def test_get_verification_code_ignores_messages_older_than_tolerance_window(monkeypatch):
|
||||
service = TempmailService({
|
||||
"base_url": "https://api.tempmail.test/v2",
|
||||
"timeout": 1,
|
||||
@@ -43,7 +43,7 @@ def test_get_verification_code_ignores_messages_not_newer_than_otp_anchor(monkey
|
||||
"from": "noreply@openai.com",
|
||||
"subject": "Old verification code",
|
||||
"body": "111111",
|
||||
"received_at": 1999,
|
||||
"received_at": 1998,
|
||||
},
|
||||
{
|
||||
"id": "new-mail",
|
||||
@@ -74,3 +74,47 @@ def test_get_verification_code_ignores_messages_not_newer_than_otp_anchor(monkey
|
||||
},
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
def test_get_verification_code_allows_two_second_anchor_tolerance(monkeypatch):
|
||||
service = TempmailService({
|
||||
"base_url": "https://api.tempmail.test/v2",
|
||||
"timeout": 1,
|
||||
"max_retries": 1,
|
||||
})
|
||||
service._email_cache["tester@example.com"] = {
|
||||
"email": "tester@example.com",
|
||||
"token": "token-1",
|
||||
}
|
||||
service.http_client = FakeHTTPClient([
|
||||
FakeResponse(
|
||||
status_code=200,
|
||||
payload={
|
||||
"emails": [
|
||||
{
|
||||
"id": "too-old-mail",
|
||||
"from": "noreply@openai.com",
|
||||
"subject": "Too old verification code",
|
||||
"body": "111111",
|
||||
"received_at": 1998,
|
||||
},
|
||||
{
|
||||
"id": "tolerated-mail",
|
||||
"from": "noreply@openai.com",
|
||||
"subject": "Tolerated verification code",
|
||||
"body": "654321",
|
||||
"received_at": 1999,
|
||||
},
|
||||
]
|
||||
},
|
||||
)
|
||||
])
|
||||
monkeypatch.setattr(tempmail_module.time, "sleep", lambda _: None)
|
||||
|
||||
code = service.get_verification_code(
|
||||
email="tester@example.com",
|
||||
timeout=1,
|
||||
otp_sent_at=2000,
|
||||
)
|
||||
|
||||
assert code == "654321"
|
||||
|
||||
Reference in New Issue
Block a user