diff options
author | Kegan Dougal <kegan@matrix.org> | 2015-01-29 12:20:59 +0000 |
---|---|---|
committer | Kegan Dougal <kegan@matrix.org> | 2015-01-29 12:20:59 +0000 |
commit | 83172487b05d7d99ccae0b353daee2f242445011 (patch) | |
tree | 45d234afe8aa2420b854a7ce878f27a56b66da2c /tests/api | |
parent | Add more unit tests for the filter algorithm. (diff) | |
download | synapse-83172487b05d7d99ccae0b353daee2f242445011.tar.xz |
Add basic filtering public API unit tests. Use defers in the right places.
Diffstat (limited to 'tests/api')
-rw-r--r-- | tests/api/test_filtering.py | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/tests/api/test_filtering.py b/tests/api/test_filtering.py index 380dd97937..97fb9758e9 100644 --- a/tests/api/test_filtering.py +++ b/tests/api/test_filtering.py @@ -24,7 +24,7 @@ from tests.utils import ( ) from synapse.server import HomeServer - +from synapse.types import UserID user_localpart = "test_user" MockEvent = namedtuple("MockEvent", "sender type room_id") @@ -353,6 +353,58 @@ class FilteringTestCase(unittest.TestCase): ) @defer.inlineCallbacks + def test_filter_public_user_data_match(self): + user_filter = { + "public_user_data": { + "types": ["m.*"] + } + } + user = UserID.from_string("@" + user_localpart + ":test") + filter_id = yield self.datastore.add_user_filter( + user_localpart=user_localpart, + user_filter=user_filter, + ) + event = MockEvent( + sender="@foo:bar", + type="m.profile", + room_id="!foo:bar" + ) + events = [event] + + results = yield self.filtering.filter_public_user_data( + events=events, + user=user, + filter_id=filter_id + ) + self.assertEquals(events, results) + + @defer.inlineCallbacks + def test_filter_public_user_data_no_match(self): + user_filter = { + "public_user_data": { + "types": ["m.*"] + } + } + user = UserID.from_string("@" + user_localpart + ":test") + filter_id = yield self.datastore.add_user_filter( + user_localpart=user_localpart, + user_filter=user_filter, + ) + event = MockEvent( + sender="@foo:bar", + type="custom.avatar.3d.crazy", + room_id="!foo:bar" + ) + events = [event] + + results = yield self.filtering.filter_public_user_data( + events=events, + user=user, + filter_id=filter_id + ) + self.assertEquals([], results) + + @defer.inlineCallbacks def test_add_filter(self): user_filter = { "room": { |