summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <paul@matrix.org>2014-08-27 18:29:45 +0100
committerPaul "LeoNerd" Evans <paul@matrix.org>2014-08-27 18:30:09 +0100
commitd027e859cd284a7ce56248e36c0fb2457b8010b2 (patch)
tree27ac6024337d1824b99a4b3fd34f41f016bd6607 /tests
parentDefine a NullSource useful for unit-testing (diff)
downloadsynapse-d027e859cd284a7ce56248e36c0fb2457b8010b2.tar.xz
Fix up the various presence-related tests so that if they're not skipped, they still PASS
Diffstat (limited to 'tests')
-rw-r--r--tests/handlers/test_presence.py10
-rw-r--r--tests/handlers/test_presencelike.py4
-rw-r--r--tests/rest/test_presence.py24
3 files changed, 26 insertions, 12 deletions
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",