Revert "Fix flaky 3PID inhibit error unit tests" (#19916)

This commit is contained in:
Andrew Morgan
2026-07-14 09:46:28 +00:00
committed by GitHub
parent ff7c3b9418
commit 6bfec47c47
6 changed files with 13 additions and 21 deletions
-1
View File
@@ -1 +0,0 @@
Fix a flake in 3PID inhibit error unit tests, causing occasional failures in CI.
+1
View File
@@ -0,0 +1 @@
Add note to 3PID email token request unit tests that the endpoint being tested can have an expected, artificial delay of up to 1s.
+7 -9
View File
@@ -325,13 +325,8 @@ class PasswordResetTestCase(unittest.HomeserverTestCase):
email = "test@example.com"
client_secret = "foobar"
session_id = self._request_token(
email,
client_secret,
# The endpoint intentionally adds up to 1000ms of jitter to avoid
# leaking whether the email address is bound to an account.
timeout_ms=3000,
)
session_id = self._request_token(email, client_secret)
self.assertIsNotNone(session_id)
@@ -370,18 +365,21 @@ class PasswordResetTestCase(unittest.HomeserverTestCase):
client_secret: str,
ip: str = "127.0.0.1",
next_link: str | None = None,
timeout_ms: int = 1000,
) -> str:
body = {"client_secret": client_secret, "email": email, "send_attempt": 1}
if next_link is not None:
body["next_link"] = next_link
channel = self.make_request(
"POST",
b"account/password/email/requestToken",
body,
client_ip=ip,
timeout_ms=timeout_ms,
await_result=False,
)
# Note: The endpoint intentionally adds up to 1000ms of jitter to avoid
# leaking whether the email address is bound to an account.
channel.await_result(timeout_ms=1000)
if channel.code != 200:
raise HttpResponseException(
+4 -3
View File
@@ -753,10 +753,11 @@ class RegisterRestServletTestCase(unittest.HomeserverTestCase):
"POST",
b"register/email/requestToken",
{"client_secret": "foobar", "email": email, "send_attempt": 1},
# The endpoint intentionally adds up to 1000ms of jitter to avoid
# leaking whether the email address is already bound to an account.
timeout_ms=3000,
await_result=False,
)
# Note: The endpoint intentionally adds up to 1000ms of jitter to avoid
# leaking whether the email address is bound to an account.
channel.await_result(timeout_ms=1000)
self.assertEqual(200, channel.code, channel.result)
self.assertIsNotNone(channel.json_body.get("sid"))
+1 -4
View File
@@ -459,7 +459,6 @@ def make_request(
await_result: bool = True,
custom_headers: Iterable[CustomHeaderType] | None = None,
client_ip: str = "127.0.0.1",
timeout_ms: int = 1000,
) -> FakeChannel:
"""
Make a web request using the given method, path and content, and render it
@@ -488,8 +487,6 @@ def make_request(
custom_headers: (name, value) pairs to add as request headers
client_ip: The IP to use as the requesting IP. Useful for testing
ratelimiting.
timeout_ms: if `await_result` is `True`, the amount of time to wait on
the request before timing out. Ignored otherwise.
Returns:
channel
@@ -574,7 +571,7 @@ def make_request(
req.requestReceived(method, path, b"1.1")
if await_result:
channel.await_result(timeout_ms=timeout_ms)
channel.await_result()
return channel
-4
View File
@@ -571,7 +571,6 @@ class HomeserverTestCase(TestCase):
await_result: bool = True,
custom_headers: Iterable[CustomHeaderType] | None = None,
client_ip: str = "127.0.0.1",
timeout_ms: int = 1000,
) -> FakeChannel:
"""
Create a SynapseRequest at the path using the method and containing the
@@ -600,8 +599,6 @@ class HomeserverTestCase(TestCase):
client_ip: The IP to use as the requesting IP. Useful for testing
ratelimiting.
timeout_ms: if `await_result` is `True`, the amount of time to wait on
the request before timing out. Ignored otherwise.
Returns:
The FakeChannel object which stores the result of the request.
@@ -621,7 +618,6 @@ class HomeserverTestCase(TestCase):
await_result,
custom_headers,
client_ip,
timeout_ms,
)
def setup_test_homeserver(