diff --git a/tests/handlers/test_presence.py b/tests/handlers/test_presence.py
index 6d3cd76dba..824ed07169 100644
--- a/tests/handlers/test_presence.py
+++ b/tests/handlers/test_presence.py
@@ -92,10 +92,7 @@ class PresenceStateTestCase(unittest.TestCase):
self.datastore.is_presence_visible = is_presence_visible
# Mock the RoomMemberHandler
- room_member_handler = Mock(spec=[
- "get_rooms_for_user",
- "get_room_members",
- ])
+ room_member_handler = Mock(spec=[])
hs.handlers.room_member_handler = room_member_handler
logging.getLogger().debug("Mocking room_member_handler=%r", room_member_handler)
@@ -122,6 +119,11 @@ class PresenceStateTestCase(unittest.TestCase):
return defer.succeed([])
room_member_handler.get_room_members = get_room_members
+ def do_users_share_a_room(userlist):
+ shared = all(map(lambda u: u in self.room_members, userlist))
+ return defer.succeed(shared)
+ self.datastore.do_users_share_a_room = do_users_share_a_room
+
self.mock_start = Mock()
self.mock_stop = Mock()
diff --git a/tests/handlers/test_presencelike.py b/tests/handlers/test_presencelike.py
index c25c6889be..1b106fc2b3 100644
--- a/tests/handlers/test_presencelike.py
+++ b/tests/handlers/test_presencelike.py
@@ -102,6 +102,10 @@ class PresenceProfilelikeDataTestCase(unittest.TestCase):
])
self.datastore.get_presence_list = get_presence_list
+ def do_users_share_a_room(userlist):
+ return defer.succeed(False)
+ self.datastore.do_users_share_a_room = do_users_share_a_room
+
self.handlers = hs.get_handlers()
self.mock_update_client = Mock()
diff --git a/tests/rest/test_presence.py b/tests/rest/test_presence.py
index e249a0d48a..e15ee38741 100644
--- a/tests/rest/test_presence.py
+++ b/tests/rest/test_presence.py
@@ -229,11 +229,19 @@ class PresenceEventStreamTestCase(unittest.TestCase):
# HIDEOUS HACKERY
# TODO(paul): This should be injected in via the HomeServer DI system
- from synapse.handlers.events import EventStreamHandler
- from synapse.handlers.presence import PresenceStreamData
- EventStreamHandler.stream_data_classes = [
- PresenceStreamData
- ]
+ from synapse.streams.events import (
+ PresenceSource, NullSource, EventSources
+ )
+
+ old_SOURCE_TYPES = EventSources.SOURCE_TYPES
+ def tearDown():
+ EventSources.SOURCE_TYPES = old_SOURCE_TYPES
+ self.tearDown = tearDown
+
+ EventSources.SOURCE_TYPES = {
+ k: NullSource for k in old_SOURCE_TYPES.keys()
+ }
+ EventSources.SOURCE_TYPES["presence"] = PresenceSource
hs = HomeServer("test",
db_pool=None,
@@ -288,7 +296,7 @@ class PresenceEventStreamTestCase(unittest.TestCase):
# all be ours
# I'll already get my own presence state change
- self.assertEquals({"start": "1", "end": "1", "chunk": []}, response)
+ self.assertEquals({"start": "0_1", "end": "0_1", "chunk": []}, response)
self.mock_datastore.set_presence_state.return_value = defer.succeed(
{"state": ONLINE})
@@ -299,10 +307,10 @@ class PresenceEventStreamTestCase(unittest.TestCase):
state={"state": ONLINE})
(code, response) = yield self.mock_resource.trigger("GET",
- "/events?from=1&timeout=0", None)
+ "/events?from=0_1&timeout=0", None)
self.assertEquals(200, code)
- self.assertEquals({"start": "1", "end": "2", "chunk": [
+ self.assertEquals({"start": "0_1", "end": "0_2", "chunk": [
{"type": "m.presence",
"content": {
"user_id": "@banana:test",
|