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 \{.*\}>")
diff --git a/tests/config/test_load.py b/tests/config/test_load.py
index fbbbf93fef..bf46233c5c 100644
--- a/tests/config/test_load.py
+++ b/tests/config/test_load.py
@@ -60,6 +60,22 @@ class ConfigLoadingTestCase(unittest.TestCase):
config2 = HomeServerConfig.load_config("", ["-c", self.file])
self.assertEqual(config1.macaroon_secret_key, config2.macaroon_secret_key)
+ def test_disable_registration(self):
+ self.generate_config()
+ self.add_lines_to_config([
+ "enable_registration: true",
+ "disable_registration: true",
+ ])
+ # Check that disable_registration clobbers enable_registration.
+ config = HomeServerConfig.load_config("", ["-c", self.file])
+ self.assertFalse(config.enable_registration)
+
+ # Check that either config value is clobbered by the command line.
+ config = HomeServerConfig.load_config("", [
+ "-c", self.file, "--enable-registration"
+ ])
+ self.assertTrue(config.enable_registration)
+
def generate_config(self):
HomeServerConfig.load_config("", [
"--generate-config",
@@ -76,3 +92,8 @@ class ConfigLoadingTestCase(unittest.TestCase):
contents = [l for l in contents if needle not in l]
with open(self.file, "w") as f:
f.write("".join(contents))
+
+ def add_lines_to_config(self, lines):
+ with open(self.file, "a") as f:
+ for line in lines:
+ f.write(line + "\n")
diff --git a/tests/metrics/test_metric.py b/tests/metrics/test_metric.py
index f9e5e5af01..f3c1927ce1 100644
--- a/tests/metrics/test_metric.py
+++ b/tests/metrics/test_metric.py
@@ -61,6 +61,9 @@ class CounterMetricTestCase(unittest.TestCase):
'vector{method="PUT"} 1',
])
+ # Check that passing too few values errors
+ self.assertRaises(ValueError, counter.inc)
+
class CallbackMetricTestCase(unittest.TestCase):
diff --git a/tests/util/test_treecache.py b/tests/util/test_treecache.py
index bcc64422b2..7ab578a185 100644
--- a/tests/util/test_treecache.py
+++ b/tests/util/test_treecache.py
@@ -77,3 +77,9 @@ class TreeCacheTestCase(unittest.TestCase):
cache[("b",)] = "B"
cache.clear()
self.assertEquals(len(cache), 0)
+
+ def test_contains(self):
+ cache = TreeCache()
+ cache[("a",)] = "A"
+ self.assertTrue(("a",) in cache)
+ self.assertFalse(("b",) in cache)
|