From 9f863d34663a4d58cf59cd15e0b0aa4a8e8581a5 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Thu, 14 Aug 2014 09:52:20 +0100 Subject: Start phasing out HttpServer: we should be using Resources instead. Added resource_for_client/federation/web_client to the HomeServer and hooked the C-S servlets to operate on resource_for_client. Dynamically construct the Resource tree. --- synapse/http/server.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'synapse/http/server.py') diff --git a/synapse/http/server.py b/synapse/http/server.py index d7f4b691bc..32dfd836cd 100644 --- a/synapse/http/server.py +++ b/synapse/http/server.py @@ -185,3 +185,8 @@ def respond_with_json_bytes(request, code, json_bytes, send_cors=False): request.write(json_bytes) request.finish() return NOT_DONE_YET + + +# FIXME: Temp, just so the new name can be used without breaking the world. +class JsonResource(TwistedHttpServer): + pass \ No newline at end of file -- cgit 1.4.1 From 9a1638ed21ea716b999853c8d63c30073e677c46 Mon Sep 17 00:00:00 2001 From: Kegan Dougal Date: Thu, 14 Aug 2014 10:18:54 +0100 Subject: Removed http_server from HomeServer. Updated unit tests to use either resource_for_federation or resource_for_client depending on what is being tested. --- synapse/app/homeserver.py | 4 +--- synapse/http/server.py | 12 +++--------- synapse/server.py | 5 +++-- tests/federation/test_federation.py | 2 +- tests/handlers/test_directory.py | 2 +- tests/handlers/test_federation.py | 2 +- tests/handlers/test_presence.py | 8 ++++---- tests/handlers/test_presencelike.py | 2 +- tests/handlers/test_profile.py | 4 ++-- tests/handlers/test_room.py | 3 +-- tests/rest/test_presence.py | 6 +++--- tests/rest/test_profile.py | 1 - 12 files changed, 21 insertions(+), 30 deletions(-) (limited to 'synapse/http/server.py') diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index d9494cb054..ea6f0985ef 100644 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -24,7 +24,7 @@ from twisted.python.log import PythonLoggingObserver from twisted.web.resource import Resource from twisted.web.static import File from twisted.web.server import Site -from synapse.http.server import TwistedHttpServer, JsonResource +from synapse.http.server import JsonResource from synapse.http.client import TwistedHttpClient from synapse.rest.base import CLIENT_PREFIX from synapse.federation.transport import PREFIX @@ -40,8 +40,6 @@ logger = logging.getLogger(__name__) class SynapseHomeServer(HomeServer): - def build_http_server(self): - return TwistedHttpServer() def build_http_client(self): return TwistedHttpClient() diff --git a/synapse/http/server.py b/synapse/http/server.py index 32dfd836cd..87b4fc8a5f 100644 --- a/synapse/http/server.py +++ b/synapse/http/server.py @@ -52,10 +52,9 @@ class HttpServer(object): pass -# The actual HTTP server impl, using twisted http server -class TwistedHttpServer(HttpServer, resource.Resource): - """ This wraps the twisted HTTP server, and triggers the correct callbacks - on the transport_layer. +class JsonResource(HttpServer, resource.Resource): + """ This implements the HttpServer interface and provides JSON support for + Resources. Register callbacks via register_path() """ @@ -185,8 +184,3 @@ def respond_with_json_bytes(request, code, json_bytes, send_cors=False): request.write(json_bytes) request.finish() return NOT_DONE_YET - - -# FIXME: Temp, just so the new name can be used without breaking the world. -class JsonResource(TwistedHttpServer): - pass \ No newline at end of file diff --git a/synapse/server.py b/synapse/server.py index 537e431375..0f7ac352ae 100644 --- a/synapse/server.py +++ b/synapse/server.py @@ -55,7 +55,6 @@ class BaseHomeServer(object): DEPENDENCIES = [ 'clock', - 'http_server', 'http_client', 'db_pool', 'persistence_service', @@ -138,7 +137,9 @@ class HomeServer(BaseHomeServer): required. It still requires the following to be specified by the caller: - http_server + resource_for_client + resource_for_web_client + resource_for_federation http_client db_pool """ diff --git a/tests/federation/test_federation.py b/tests/federation/test_federation.py index ec39c7ee33..478ddd879e 100644 --- a/tests/federation/test_federation.py +++ b/tests/federation/test_federation.py @@ -70,7 +70,7 @@ class FederationTestCase(unittest.TestCase): ) self.clock = MockClock() hs = HomeServer("test", - http_server=self.mock_http_server, + resource_for_federation=self.mock_http_server, http_client=self.mock_http_client, db_pool=None, datastore=self.mock_persistence, diff --git a/tests/handlers/test_directory.py b/tests/handlers/test_directory.py index 0ace2d0c9a..88ac8933f8 100644 --- a/tests/handlers/test_directory.py +++ b/tests/handlers/test_directory.py @@ -51,7 +51,7 @@ class DirectoryTestCase(unittest.TestCase): "get_association_from_room_alias", ]), http_client=None, - http_server=Mock(), + resource_for_federation=Mock(), replication_layer=self.mock_federation, ) hs.handlers = DirectoryHandlers(hs) diff --git a/tests/handlers/test_federation.py b/tests/handlers/test_federation.py index bdee7cfad4..ab9c242579 100644 --- a/tests/handlers/test_federation.py +++ b/tests/handlers/test_federation.py @@ -42,7 +42,7 @@ class FederationTestCase(unittest.TestCase): "persist_event", "store_room", ]), - http_server=NonCallableMock(), + resource_for_federation=NonCallableMock(), http_client=NonCallableMock(spec_set=[]), notifier=NonCallableMock(spec_set=["on_new_room_event"]), handlers=NonCallableMock(spec_set=[ diff --git a/tests/handlers/test_presence.py b/tests/handlers/test_presence.py index b365741d99..61c2547af4 100644 --- a/tests/handlers/test_presence.py +++ b/tests/handlers/test_presence.py @@ -66,7 +66,7 @@ class PresenceStateTestCase(unittest.TestCase): "set_presence_list_accepted", ]), handlers=None, - http_server=Mock(), + resource_for_federation=Mock(), http_client=None, ) hs.handlers = JustPresenceHandlers(hs) @@ -188,7 +188,7 @@ class PresenceInvitesTestCase(unittest.TestCase): "del_presence_list", ]), handlers=None, - http_server=Mock(), + resource_for_client=Mock(), http_client=None, replication_layer=self.replication ) @@ -402,7 +402,7 @@ class PresencePushTestCase(unittest.TestCase): "set_presence_state", ]), handlers=None, - http_server=Mock(), + resource_for_client=Mock(), http_client=None, replication_layer=self.replication, ) @@ -727,7 +727,7 @@ class PresencePollingTestCase(unittest.TestCase): db_pool=None, datastore=Mock(spec=[]), handlers=None, - http_server=Mock(), + resource_for_client=Mock(), http_client=None, replication_layer=self.replication, ) diff --git a/tests/handlers/test_presencelike.py b/tests/handlers/test_presencelike.py index 6eeb1bb522..bba5dd4e53 100644 --- a/tests/handlers/test_presencelike.py +++ b/tests/handlers/test_presencelike.py @@ -71,7 +71,7 @@ class PresenceProfilelikeDataTestCase(unittest.TestCase): "set_profile_displayname", ]), handlers=None, - http_server=Mock(), + resource_for_federation=Mock(), http_client=None, replication_layer=MockReplication(), ) diff --git a/tests/handlers/test_profile.py b/tests/handlers/test_profile.py index eb1df2a4cf..87a8139920 100644 --- a/tests/handlers/test_profile.py +++ b/tests/handlers/test_profile.py @@ -56,7 +56,7 @@ class ProfileTestCase(unittest.TestCase): "set_profile_avatar_url", ]), handlers=None, - http_server=Mock(), + resource_for_federation=Mock(), replication_layer=self.mock_federation, ) hs.handlers = ProfileHandlers(hs) @@ -139,7 +139,7 @@ class ProfileTestCase(unittest.TestCase): mocked_set = self.datastore.set_profile_avatar_url mocked_set.return_value = defer.succeed(()) - yield self.handler.set_avatar_url(self.frank, self.frank, + yield self.handler.set_avatar_url(self.frank, self.frank, "http://my.server/pic.gif") mocked_set.assert_called_with("1234ABCD", "http://my.server/pic.gif") diff --git a/tests/handlers/test_room.py b/tests/handlers/test_room.py index 99067da6a5..fd2d66db38 100644 --- a/tests/handlers/test_room.py +++ b/tests/handlers/test_room.py @@ -46,7 +46,7 @@ class RoomMemberHandlerTestCase(unittest.TestCase): "get_room", "store_room", ]), - http_server=NonCallableMock(), + resource_for_federation=NonCallableMock(), http_client=NonCallableMock(spec_set=[]), notifier=NonCallableMock(spec_set=["on_new_room_event"]), handlers=NonCallableMock(spec_set=[ @@ -317,7 +317,6 @@ class RoomCreationTest(unittest.TestCase): datastore=NonCallableMock(spec_set=[ "store_room", ]), - http_server=NonCallableMock(), http_client=NonCallableMock(spec_set=[]), notifier=NonCallableMock(spec_set=["on_new_room_event"]), handlers=NonCallableMock(spec_set=[ diff --git a/tests/rest/test_presence.py b/tests/rest/test_presence.py index 98b308dcdb..91d4d1ff6c 100644 --- a/tests/rest/test_presence.py +++ b/tests/rest/test_presence.py @@ -52,7 +52,7 @@ class PresenceStateTestCase(unittest.TestCase): db_pool=None, http_client=None, resource_for_client=self.mock_server, - http_server=self.mock_server, + resource_for_federation=self.mock_server, ) def _get_user_by_token(token=None): @@ -110,7 +110,7 @@ class PresenceListTestCase(unittest.TestCase): db_pool=None, http_client=None, resource_for_client=self.mock_server, - http_server=self.mock_server, + resource_for_federation=self.mock_server ) def _get_user_by_token(token=None): @@ -185,8 +185,8 @@ class PresenceEventStreamTestCase(unittest.TestCase): hs = HomeServer("test", db_pool=None, http_client=None, - http_server=self.mock_server, resource_for_client=self.mock_server, + resource_for_federation=self.mock_server, datastore=Mock(spec=[ "set_presence_state", "get_presence_list", diff --git a/tests/rest/test_profile.py b/tests/rest/test_profile.py index 975d32f64d..ff1e92805e 100644 --- a/tests/rest/test_profile.py +++ b/tests/rest/test_profile.py @@ -43,7 +43,6 @@ class ProfileTestCase(unittest.TestCase): hs = HomeServer("test", db_pool=None, http_client=None, - http_server=self.mock_server, resource_for_client=self.mock_server, federation=Mock(), replication_layer=Mock(), -- cgit 1.4.1