mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-06-19 19:34:07 -04:00
Prefer make_awaitable
over defer.succeed
in tests (#12505)
When configuring the return values of mocks, prefer awaitables from `make_awaitable` over `defer.succeed`. `Deferred`s are only awaitable once, so it is inappropriate for a mock to return the same `Deferred` multiple times. Also update `run_in_background` to support functions that return arbitrary awaitables. Signed-off-by: Sean Quah <seanq@element.io>
This commit is contained in:
parent
5ef673de4f
commit
78b99de7c2
14 changed files with 72 additions and 69 deletions
|
@ -14,7 +14,6 @@
|
|||
from typing import Any, Dict, List
|
||||
from unittest.mock import Mock
|
||||
|
||||
from twisted.internet import defer
|
||||
from twisted.test.proto_helpers import MemoryReactor
|
||||
|
||||
from synapse.api.constants import UserTypes
|
||||
|
@ -259,10 +258,10 @@ class MonthlyActiveUsersTestCase(unittest.HomeserverTestCase):
|
|||
def test_populate_monthly_users_should_update(self):
|
||||
self.store.upsert_monthly_active_user = Mock(return_value=make_awaitable(None)) # type: ignore[assignment]
|
||||
|
||||
self.store.is_trial_user = Mock(return_value=defer.succeed(False)) # type: ignore[assignment]
|
||||
self.store.is_trial_user = Mock(return_value=make_awaitable(False)) # type: ignore[assignment]
|
||||
|
||||
self.store.user_last_seen_monthly_active = Mock(
|
||||
return_value=defer.succeed(None)
|
||||
return_value=make_awaitable(None)
|
||||
)
|
||||
d = self.store.populate_monthly_active_users("user_id")
|
||||
self.get_success(d)
|
||||
|
@ -272,9 +271,9 @@ class MonthlyActiveUsersTestCase(unittest.HomeserverTestCase):
|
|||
def test_populate_monthly_users_should_not_update(self):
|
||||
self.store.upsert_monthly_active_user = Mock(return_value=make_awaitable(None)) # type: ignore[assignment]
|
||||
|
||||
self.store.is_trial_user = Mock(return_value=defer.succeed(False)) # type: ignore[assignment]
|
||||
self.store.is_trial_user = Mock(return_value=make_awaitable(False)) # type: ignore[assignment]
|
||||
self.store.user_last_seen_monthly_active = Mock(
|
||||
return_value=defer.succeed(self.hs.get_clock().time_msec())
|
||||
return_value=make_awaitable(self.hs.get_clock().time_msec())
|
||||
)
|
||||
|
||||
d = self.store.populate_monthly_active_users("user_id")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue