diff --git a/tests/config/__init__.py b/tests/config/__init__.py
new file mode 100644
index 0000000000..b7df13c9ee
--- /dev/null
+++ b/tests/config/__init__.py
@@ -0,0 +1,14 @@
+# -*- coding: utf-8 -*-
+# Copyright 2016 OpenMarket Ltd
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
diff --git a/tests/config/test_generate.py b/tests/config/test_generate.py
new file mode 100644
index 0000000000..4329d73974
--- /dev/null
+++ b/tests/config/test_generate.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+# Copyright 2016 OpenMarket Ltd
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+import os.path
+import shutil
+import tempfile
+from synapse.config.homeserver import HomeServerConfig
+from tests import unittest
+
+
+class ConfigGenerationTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.dir = tempfile.mkdtemp()
+ print self.dir
+ self.file = os.path.join(self.dir, "homeserver.yaml")
+
+ def tearDown(self):
+ shutil.rmtree(self.dir)
+
+ def test_generate_config_generates_files(self):
+ HomeServerConfig.load_config("", [
+ "--generate-config",
+ "-c", self.file,
+ "--report-stats=yes",
+ "-H", "lemurs.win"
+ ])
+
+ self.assertSetEqual(
+ set([
+ "homeserver.yaml",
+ "lemurs.win.log.config",
+ "lemurs.win.signing.key",
+ "lemurs.win.tls.crt",
+ "lemurs.win.tls.dh",
+ "lemurs.win.tls.key",
+ ]),
+ set(os.listdir(self.dir))
+ )
diff --git a/tests/config/test_load.py b/tests/config/test_load.py
new file mode 100644
index 0000000000..fbbbf93fef
--- /dev/null
+++ b/tests/config/test_load.py
@@ -0,0 +1,78 @@
+# -*- coding: utf-8 -*-
+# Copyright 2016 OpenMarket Ltd
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+import os.path
+import shutil
+import tempfile
+import yaml
+from synapse.config.homeserver import HomeServerConfig
+from tests import unittest
+
+
+class ConfigLoadingTestCase(unittest.TestCase):
+
+ def setUp(self):
+ self.dir = tempfile.mkdtemp()
+ print self.dir
+ self.file = os.path.join(self.dir, "homeserver.yaml")
+
+ def tearDown(self):
+ shutil.rmtree(self.dir)
+
+ def test_load_fails_if_server_name_missing(self):
+ self.generate_config_and_remove_lines_containing("server_name")
+ with self.assertRaises(Exception):
+ HomeServerConfig.load_config("", ["-c", self.file])
+
+ def test_generates_and_loads_macaroon_secret_key(self):
+ self.generate_config()
+
+ with open(self.file,
+ "r") as f:
+ raw = yaml.load(f)
+ self.assertIn("macaroon_secret_key", raw)
+
+ config = HomeServerConfig.load_config("", ["-c", self.file])
+ self.assertTrue(
+ hasattr(config, "macaroon_secret_key"),
+ "Want config to have attr macaroon_secret_key"
+ )
+ if len(config.macaroon_secret_key) < 5:
+ self.fail(
+ "Want macaroon secret key to be string of at least length 5,"
+ "was: %r" % (config.macaroon_secret_key,)
+ )
+
+ def test_load_succeeds_if_macaroon_secret_key_missing(self):
+ self.generate_config_and_remove_lines_containing("macaroon")
+ config1 = HomeServerConfig.load_config("", ["-c", self.file])
+ config2 = HomeServerConfig.load_config("", ["-c", self.file])
+ self.assertEqual(config1.macaroon_secret_key, config2.macaroon_secret_key)
+
+ def generate_config(self):
+ HomeServerConfig.load_config("", [
+ "--generate-config",
+ "-c", self.file,
+ "--report-stats=yes",
+ "-H", "lemurs.win"
+ ])
+
+ def generate_config_and_remove_lines_containing(self, needle):
+ self.generate_config()
+
+ with open(self.file, "r") as f:
+ contents = f.readlines()
+ contents = [l for l in contents if needle not in l]
+ with open(self.file, "w") as f:
+ f.write("".join(contents))
diff --git a/tests/rest/client/v1/test_events.py b/tests/rest/client/v1/test_events.py
index b260e269ac..e9698bfdc9 100644
--- a/tests/rest/client/v1/test_events.py
+++ b/tests/rest/client/v1/test_events.py
@@ -122,7 +122,7 @@ class EventStreamPermissionsTestCase(RestTestCase):
self.ratelimiter = hs.get_ratelimiter()
self.ratelimiter.send_message.return_value = (True, 0)
hs.config.enable_registration_captcha = False
- hs.config.disable_registration = False
+ hs.config.enable_registration = True
hs.get_handlers().federation_handler = Mock()
diff --git a/tests/rest/client/v2_alpha/test_register.py b/tests/rest/client/v2_alpha/test_register.py
index f9a2b22485..df0841b0b1 100644
--- a/tests/rest/client/v2_alpha/test_register.py
+++ b/tests/rest/client/v2_alpha/test_register.py
@@ -41,7 +41,7 @@ class RegisterRestServletTestCase(unittest.TestCase):
self.hs.hostname = "superbig~testing~thing.com"
self.hs.get_auth = Mock(return_value=self.auth)
self.hs.get_handlers = Mock(return_value=self.handlers)
- self.hs.config.disable_registration = False
+ self.hs.config.enable_registration = True
# init the thing we're testing
self.servlet = RegisterRestServlet(self.hs)
@@ -120,7 +120,7 @@ class RegisterRestServletTestCase(unittest.TestCase):
}))
def test_POST_disabled_registration(self):
- self.hs.config.disable_registration = True
+ self.hs.config.enable_registration = False
self.request_data = json.dumps({
"username": "kermit",
"password": "monkey"
diff --git a/tests/storage/test_room.py b/tests/storage/test_room.py
index 7fdbfc60f1..0baaf3df21 100644
--- a/tests/storage/test_room.py
+++ b/tests/storage/test_room.py
@@ -51,32 +51,6 @@ class RoomStoreTestCase(unittest.TestCase):
(yield self.store.get_room(self.room.to_string()))
)
- @defer.inlineCallbacks
- def test_get_rooms(self):
- # get_rooms does an INNER JOIN on the room_aliases table :(
-
- rooms = yield self.store.get_rooms(is_public=True)
- # Should be empty before we add the alias
- self.assertEquals([], rooms)
-
- yield self.store.create_room_alias_association(
- room_alias=self.alias,
- room_id=self.room.to_string(),
- servers=["test"]
- )
-
- rooms = yield self.store.get_rooms(is_public=True)
-
- self.assertEquals(1, len(rooms))
- self.assertEquals({
- "name": None,
- "room_id": self.room.to_string(),
- "topic": None,
- "aliases": [self.alias.to_string()],
- "world_readable": False,
- "guest_can_join": False,
- }, rooms[0])
-
class RoomEventsStoreTestCase(unittest.TestCase):
diff --git a/tests/util/test_log_context.py b/tests/util/test_log_context.py
index efa0f28bad..65a330a0e9 100644
--- a/tests/util/test_log_context.py
+++ b/tests/util/test_log_context.py
@@ -5,6 +5,7 @@ from .. import unittest
from synapse.util.async import sleep
from synapse.util.logcontext import LoggingContext
+
class LoggingContextTestCase(unittest.TestCase):
def _check_test_key(self, value):
@@ -17,15 +18,6 @@ class LoggingContextTestCase(unittest.TestCase):
context_one.test_key = "test"
self._check_test_key("test")
- def test_chaining(self):
- with LoggingContext() as context_one:
- context_one.test_key = "one"
- with LoggingContext() as context_two:
- self._check_test_key("one")
- context_two.test_key = "two"
- self._check_test_key("two")
- self._check_test_key("one")
-
@defer.inlineCallbacks
def test_sleep(self):
@defer.inlineCallbacks
diff --git a/tests/utils.py b/tests/utils.py
index 43cc2b30cd..3b1eb50d8d 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -46,9 +46,10 @@ def setup_test_homeserver(name="test", datastore=None, config=None, **kargs):
config = Mock()
config.signing_key = [MockKey()]
config.event_cache_size = 1
- config.disable_registration = False
+ config.enable_registration = True
config.macaroon_secret_key = "not even a little secret"
config.server_name = "server.under.test"
+ config.trusted_third_party_id_servers = []
if "clock" not in kargs:
kargs["clock"] = MockClock()
|