From cdd8602e746d37803ae734f999478fc84a19f43c Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Wed, 3 Sep 2014 09:15:22 +0100 Subject: [PATCH] Fix tests to support ratelimiting --- tests/handlers/test_room.py | 13 +++++++++++ tests/rest/test_events.py | 9 +++++++- tests/rest/test_rooms.py | 44 ++++++++++++++++++++++++++++++++++++- 3 files changed, 64 insertions(+), 2 deletions(-) diff --git a/tests/handlers/test_room.py b/tests/handlers/test_room.py index 219a53c42..4591a5ea5 100644 --- a/tests/handlers/test_room.py +++ b/tests/handlers/test_room.py @@ -39,6 +39,10 @@ class RoomMemberHandlerTestCase(unittest.TestCase): hs = HomeServer( self.hostname, db_pool=None, + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), datastore=NonCallableMock(spec_set=[ "persist_event", "get_joined_hosts_for_room", @@ -82,6 +86,8 @@ class RoomMemberHandlerTestCase(unittest.TestCase): self.snapshot = Mock() self.datastore.snapshot_room.return_value = self.snapshot + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) @defer.inlineCallbacks def test_invite(self): @@ -342,6 +348,10 @@ class RoomCreationTest(unittest.TestCase): ]), auth=NonCallableMock(spec_set=["check"]), state_handler=NonCallableMock(spec_set=["handle_new_event"]), + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), ) self.federation = NonCallableMock(spec_set=[ @@ -368,6 +378,9 @@ class RoomCreationTest(unittest.TestCase): return defer.succeed([]) self.datastore.get_joined_hosts_for_room.side_effect = hosts + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) + @defer.inlineCallbacks def test_room_creation(self): user_id = "@foo:red" diff --git a/tests/rest/test_events.py b/tests/rest/test_events.py index 1d1336d12..c8527f351 100644 --- a/tests/rest/test_events.py +++ b/tests/rest/test_events.py @@ -32,7 +32,7 @@ import logging from ..utils import MockHttpResource, MemoryDataStore from .utils import RestTestCase -from mock import Mock +from mock import Mock, NonCallableMock logging.getLogger().addHandler(logging.NullHandler()) @@ -136,8 +136,15 @@ class EventStreamPermissionsTestCase(RestTestCase): "call_later", "cancel_call_later", "time_msec", + "time" ]), + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), ) + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) hs.get_handlers().federation_handler = Mock() diff --git a/tests/rest/test_rooms.py b/tests/rest/test_rooms.py index cdaf948a3..23c50824c 100644 --- a/tests/rest/test_rooms.py +++ b/tests/rest/test_rooms.py @@ -30,7 +30,7 @@ import urllib from ..utils import MockHttpResource, MemoryDataStore from .utils import RestTestCase -from mock import Mock +from mock import Mock, NonCallableMock PATH_PREFIX = "/_matrix/client/api/v1" @@ -58,7 +58,14 @@ class RoomPermissionsTestCase(RestTestCase): replication_layer=Mock(), state_handler=state_handler, persistence_service=persistence_service, + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), ) + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) + hs.get_handlers().federation_handler = Mock() def _get_user_by_token(token=None): @@ -405,7 +412,14 @@ class RoomsMemberListTestCase(RestTestCase): replication_layer=Mock(), state_handler=state_handler, persistence_service=persistence_service, + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), ) + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) + hs.get_handlers().federation_handler = Mock() self.auth_user_id = self.user_id @@ -483,7 +497,14 @@ class RoomsCreateTestCase(RestTestCase): replication_layer=Mock(), state_handler=state_handler, persistence_service=persistence_service, + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), ) + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) + hs.get_handlers().federation_handler = Mock() def _get_user_by_token(token=None): @@ -573,7 +594,14 @@ class RoomTopicTestCase(RestTestCase): replication_layer=Mock(), state_handler=state_handler, persistence_service=persistence_service, + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), ) + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) + hs.get_handlers().federation_handler = Mock() def _get_user_by_token(token=None): @@ -676,7 +704,14 @@ class RoomMemberStateTestCase(RestTestCase): replication_layer=Mock(), state_handler=state_handler, persistence_service=persistence_service, + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), ) + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) + hs.get_handlers().federation_handler = Mock() def _get_user_by_token(token=None): @@ -801,7 +836,14 @@ class RoomMessagesTestCase(RestTestCase): replication_layer=Mock(), state_handler=state_handler, persistence_service=persistence_service, + ratelimiter=NonCallableMock(spec_set=[ + "send_message", + ]), + config=NonCallableMock(), ) + self.ratelimiter = hs.get_ratelimiter() + self.ratelimiter.send_message.return_value = (True, 0) + hs.get_handlers().federation_handler = Mock() def _get_user_by_token(token=None):