diff --git a/tests/push/test_email.py b/tests/push/test_email.py
index 3224568640..55545d9341 100644
--- a/tests/push/test_email.py
+++ b/tests/push/test_email.py
@@ -158,8 +158,21 @@ class EmailPusherTests(HomeserverTestCase):
# We should get emailed about those messages
self._check_for_mail()
+ def test_encrypted_message(self):
+ room = self.helper.create_room_as(self.user_id, tok=self.access_token)
+ self.helper.invite(
+ room=room, src=self.user_id, tok=self.access_token, targ=self.others[0].id
+ )
+ self.helper.join(room=room, user=self.others[0].id, tok=self.others[0].token)
+
+ # The other user sends some messages
+ self.helper.send_event(room, "m.room.encrypted", {}, tok=self.others[0].token)
+
+ # We should get emailed about that message
+ self._check_for_mail()
+
def _check_for_mail(self):
- "Check that the user receives an email notification"
+ """Check that the user receives an email notification"""
# Get the stream ordering before it gets sent
pushers = self.get_success(
diff --git a/tests/rest/client/test_room_access_rules.py b/tests/rest/client/test_room_access_rules.py
index 82c363a682..1a4ea34292 100644
--- a/tests/rest/client/test_room_access_rules.py
+++ b/tests/rest/client/test_room_access_rules.py
@@ -22,6 +22,7 @@ from mock import Mock
from twisted.internet import defer
from synapse.api.constants import EventTypes, JoinRules, Membership, RoomCreationPreset
+from synapse.api.errors import SynapseError
from synapse.rest import admin
from synapse.rest.client.v1 import directory, login, room
from synapse.third_party_rules.access_rules import (
@@ -783,8 +784,8 @@ class RoomAccessTestCase(unittest.HomeserverTestCase):
allowed_requester = create_requester("@user:allowed_domain")
forbidden_requester = create_requester("@user:forbidden_domain")
- # Create a join event for a forbidden user
- forbidden_join_event, forbidden_join_event_context = self.get_success(
+ # Assert a join event from a forbidden user to a restricted room is rejected
+ self.get_failure(
event_creator.create_event(
forbidden_requester,
{
@@ -794,11 +795,12 @@ class RoomAccessTestCase(unittest.HomeserverTestCase):
"content": {"membership": Membership.JOIN},
"state_key": forbidden_requester.user.to_string(),
},
- )
+ ),
+ SynapseError,
)
- # Create a join event for an allowed user
- allowed_join_event, allowed_join_event_context = self.get_success(
+ # A join event from an non-forbidden user to a restricted room is allowed
+ self.get_success(
event_creator.create_event(
allowed_requester,
{
@@ -811,26 +813,10 @@ class RoomAccessTestCase(unittest.HomeserverTestCase):
)
)
- # Assert a join event from a forbidden user to a restricted room is rejected
- can_join = self.get_success(
- self.third_party_event_rules.check_event_allowed(
- forbidden_join_event, forbidden_join_event_context
- )
- )
- self.assertFalse(can_join)
-
- # But a join event from an non-forbidden user to a restricted room is allowed
- can_join = self.get_success(
- self.third_party_event_rules.check_event_allowed(
- allowed_join_event, allowed_join_event_context
- )
- )
- self.assertTrue(can_join)
-
# Test that forbidden users can only join unrestricted rooms if they have an invite
- # Recreate the forbidden join event for the unrestricted room instead
- forbidden_join_event, forbidden_join_event_context = self.get_success(
+ # A forbidden user without an invite should not be able to join an unrestricted room
+ self.get_failure(
event_creator.create_event(
forbidden_requester,
{
@@ -840,16 +826,9 @@ class RoomAccessTestCase(unittest.HomeserverTestCase):
"content": {"membership": Membership.JOIN},
"state_key": forbidden_requester.user.to_string(),
},
- )
- )
-
- # A forbidden user without an invite should not be able to join an unrestricted room
- can_join = self.get_success(
- self.third_party_event_rules.check_event_allowed(
- forbidden_join_event, forbidden_join_event_context
- )
+ ),
+ SynapseError,
)
- self.assertFalse(can_join)
# However, if we then invite this user...
self.helper.invite(
@@ -861,7 +840,8 @@ class RoomAccessTestCase(unittest.HomeserverTestCase):
# And create another join event, making sure that its context states it's coming
# in after the above invite was made...
- forbidden_join_event, forbidden_join_event_context = self.get_success(
+ # Then the forbidden user should be able to join!
+ self.get_success(
event_creator.create_event(
forbidden_requester,
{
@@ -874,14 +854,6 @@ class RoomAccessTestCase(unittest.HomeserverTestCase):
)
)
- # Then the forbidden user should be able to join!
- can_join = self.get_success(
- self.third_party_event_rules.check_event_allowed(
- forbidden_join_event, forbidden_join_event_context
- )
- )
- self.assertTrue(can_join)
-
def test_freezing_a_room(self):
"""Tests that the power levels in a room change to prevent new events from
non-admin users when the last admin of a room leaves.
diff --git a/tests/rest/client/v2_alpha/test_account.py b/tests/rest/client/v2_alpha/test_account.py
index ae2cd67f35..66ac4dbe85 100644
--- a/tests/rest/client/v2_alpha/test_account.py
+++ b/tests/rest/client/v2_alpha/test_account.py
@@ -352,7 +352,6 @@ class DeactivateTestCase(unittest.HomeserverTestCase):
self.render(request)
self.assertEqual(request.code, 401)
- @unittest.INFO
def test_pending_invites(self):
"""Tests that deactivating a user rejects every pending invite for them."""
store = self.hs.get_datastore()
diff --git a/tests/rest/client/v2_alpha/test_auth.py b/tests/rest/client/v2_alpha/test_auth.py
index 293ccfba2b..86184f0d2e 100644
--- a/tests/rest/client/v2_alpha/test_auth.py
+++ b/tests/rest/client/v2_alpha/test_auth.py
@@ -104,7 +104,6 @@ class FallbackAuthTests(unittest.HomeserverTestCase):
self.assertEqual(len(attempts), 1)
self.assertEqual(attempts[0][0]["response"], "a")
- @unittest.INFO
def test_fallback_captcha(self):
"""Ensure that fallback auth via a captcha works."""
# Returns a 401 as per the spec
diff --git a/tests/util/caches/test_deferred_cache.py b/tests/util/caches/test_deferred_cache.py
index 9717be56b6..8a08ab6661 100644
--- a/tests/util/caches/test_deferred_cache.py
+++ b/tests/util/caches/test_deferred_cache.py
@@ -38,6 +38,22 @@ class DeferredCacheTestCase(unittest.TestCase):
self.assertEquals(cache.get("foo"), 123)
+ def test_get_immediate(self):
+ cache = DeferredCache("test")
+ d1 = defer.Deferred()
+ cache.set("key1", d1)
+
+ # get_immediate should return default
+ v = cache.get_immediate("key1", 1)
+ self.assertEqual(v, 1)
+
+ # now complete the set
+ d1.callback(2)
+
+ # get_immediate should return result
+ v = cache.get_immediate("key1", 1)
+ self.assertEqual(v, 2)
+
def test_invalidate(self):
cache = DeferredCache("test")
cache.prefill(("foo",), 123)
@@ -80,9 +96,11 @@ class DeferredCacheTestCase(unittest.TestCase):
# now do the invalidation
cache.invalidate_all()
- # lookup should return none
- self.assertIsNone(cache.get("key1", None))
- self.assertIsNone(cache.get("key2", None))
+ # lookup should fail
+ with self.assertRaises(KeyError):
+ cache.get("key1")
+ with self.assertRaises(KeyError):
+ cache.get("key2")
# both callbacks should have been callbacked
self.assertTrue(callback_record[0], "Invalidation callback for key1 not called")
@@ -90,7 +108,8 @@ class DeferredCacheTestCase(unittest.TestCase):
# letting the other lookup complete should do nothing
d1.callback("result1")
- self.assertIsNone(cache.get("key1", None))
+ with self.assertRaises(KeyError):
+ cache.get("key1", None)
def test_eviction(self):
cache = DeferredCache(
diff --git a/tests/util/test_lrucache.py b/tests/util/test_lrucache.py
index f12834edab..a739a6aaaf 100644
--- a/tests/util/test_lrucache.py
+++ b/tests/util/test_lrucache.py
@@ -19,7 +19,8 @@ from mock import Mock
from synapse.util.caches.lrucache import LruCache
from synapse.util.caches.treecache import TreeCache
-from .. import unittest
+from tests import unittest
+from tests.unittest import override_config
class LruCacheTestCase(unittest.HomeserverTestCase):
@@ -83,6 +84,11 @@ class LruCacheTestCase(unittest.HomeserverTestCase):
cache.clear()
self.assertEquals(len(cache), 0)
+ @override_config({"caches": {"per_cache_factors": {"mycache": 10}}})
+ def test_special_size(self):
+ cache = LruCache(10, "mycache")
+ self.assertEqual(cache.max_size, 100)
+
class LruCacheCallbacksTestCase(unittest.HomeserverTestCase):
def test_get(self):
|