diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index f748d9afb0..776ddca638 100644
--- a/synapse/handlers/sync.py
+++ b/synapse/handlers/sync.py
@@ -209,14 +209,12 @@ class SyncHandler(object):
Deferred[SyncResult]
"""
yield self.auth.check_auth_blocking()
-
- defer.returnValue(
- self.response_cache.wrap(
- sync_config.request_key,
- self._wait_for_sync_for_user,
- sync_config, since_token, timeout, full_state,
- )
+ res = yield self.response_cache.wrap(
+ sync_config.request_key,
+ self._wait_for_sync_for_user,
+ sync_config, since_token, timeout, full_state,
)
+ defer.returnValue(res)
@defer.inlineCallbacks
def _wait_for_sync_for_user(self, sync_config, since_token, timeout,
diff --git a/tests/handlers/test_sync.py b/tests/handlers/test_sync.py
index 3b1b4d4923..497e4bd933 100644
--- a/tests/handlers/test_sync.py
+++ b/tests/handlers/test_sync.py
@@ -14,11 +14,14 @@
# limitations under the License.
from twisted.internet import defer
+from synapse.api.errors import AuthError
+from synapse.api.filtering import DEFAULT_FILTER_COLLECTION
+from synapse.handlers.sync import SyncConfig, SyncHandler
+from synapse.types import UserID
+
import tests.unittest
import tests.utils
from tests.utils import setup_test_homeserver
-from synapse.handlers.sync import SyncHandler, SyncConfig
-from synapse.types import UserID
class SyncTestCase(tests.unittest.TestCase):
@@ -32,11 +35,15 @@ class SyncTestCase(tests.unittest.TestCase):
@defer.inlineCallbacks
def test_wait_for_sync_for_user_auth_blocking(self):
sync_config = SyncConfig(
- user=UserID("@user","server"),
- filter_collection=None,
+ user=UserID("@user", "server"),
+ filter_collection=DEFAULT_FILTER_COLLECTION,
is_guest=False,
request_key="request_key",
device_id="device_id",
)
- res = yield self.sync_handler.wait_for_sync_for_user(sync_config)
- print res
+ # Ensure that an exception is not thrown
+ yield self.sync_handler.wait_for_sync_for_user(sync_config)
+ self.hs.config.hs_disabled = True
+
+ with self.assertRaises(AuthError):
+ yield self.sync_handler.wait_for_sync_for_user(sync_config)
|