summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorMark Haines <mjark@negativecurvature.net>2016-02-22 15:21:10 +0000
committerMark Haines <mjark@negativecurvature.net>2016-02-22 15:21:10 +0000
commitc43609e035527114f52cb3068b61a2bd936a797e (patch)
tree81ded4edb11fbc7177de6791dfa575f47888c916 /tests
parentRemove superfluous call to get_state_at when we already have an event for tha... (diff)
parentTest Filter.filter_rooms (diff)
downloadsynapse-c43609e035527114f52cb3068b61a2bd936a797e.tar.xz
Merge pull request #591 from matrix-org/markjh/coverage
Test Filter.filter_rooms
Diffstat (limited to 'tests')
-rw-r--r--tests/api/test_filtering.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/api/test_filtering.py b/tests/api/test_filtering.py
index 4297a89f85..dcb6c5bc31 100644
--- a/tests/api/test_filtering.py
+++ b/tests/api/test_filtering.py
@@ -456,6 +456,22 @@ class FilteringTestCase(unittest.TestCase):
         results = user_filter.filter_room_state(events)
         self.assertEquals([], results)
 
+    def test_filter_rooms(self):
+        definition = {
+            "rooms": ["!allowed:example.com", "!excluded:example.com"],
+            "not_rooms": ["!excluded:example.com"],
+        }
+
+        room_ids = [
+            "!allowed:example.com",  # Allowed because in rooms and not in not_rooms.
+            "!excluded:example.com",  # Disallowed because in not_rooms.
+            "!not_included:example.com",  # Disallowed because not in rooms.
+        ]
+
+        filtered_room_ids = list(Filter(definition).filter_rooms(room_ids))
+
+        self.assertEquals(filtered_room_ids, ["!allowed:example.com"])
+
     @defer.inlineCallbacks
     def test_add_filter(self):
         user_filter_json = {
@@ -500,3 +516,5 @@ class FilteringTestCase(unittest.TestCase):
         )
 
         self.assertEquals(filter.get_filter_json(), user_filter_json)
+
+        self.assertRegexpMatches(repr(filter), r"<FilterCollection \{.*\}>")