diff --git a/tests/rest/test_presence.py b/tests/rest/test_presence.py
index e2cdd80e07..a1db0fbcf3 100644
--- a/tests/rest/test_presence.py
+++ b/tests/rest/test_presence.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Copyright 2014 matrix.org
+# Copyright 2014 OpenMarket Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -99,7 +99,7 @@ class PresenceStateTestCase(unittest.TestCase):
self.assertEquals(200, code)
self.assertEquals(
- {"presence": ONLINE, "state": ONLINE, "status_msg": "Available"},
+ {"presence": ONLINE, "status_msg": "Available"},
response
)
mocked_get.assert_called_with("apple")
@@ -115,7 +115,8 @@ class PresenceStateTestCase(unittest.TestCase):
self.assertEquals(200, code)
mocked_set.assert_called_with("apple",
- {"state": UNAVAILABLE, "status_msg": "Away"})
+ {"state": UNAVAILABLE, "status_msg": "Away"}
+ )
class PresenceListTestCase(unittest.TestCase):
@@ -176,7 +177,7 @@ class PresenceListTestCase(unittest.TestCase):
self.assertEquals(200, code)
self.assertEquals([
- {"user_id": "@banana:test", "presence": OFFLINE, "state": OFFLINE},
+ {"user_id": "@banana:test", "presence": OFFLINE},
], response)
self.datastore.get_presence_list.assert_called_with(
@@ -269,11 +270,16 @@ class PresenceEventStreamTestCase(unittest.TestCase):
hs.register_servlets()
- hs.handlers.room_member_handler = Mock(spec=[
- "get_rooms_for_user",
- ])
- hs.handlers.room_member_handler.get_rooms_for_user = (
- lambda u: defer.succeed([]))
+ hs.handlers.room_member_handler = Mock(spec=[])
+
+ self.room_members = []
+
+ def get_rooms_for_user(user):
+ if user in self.room_members:
+ return ["a-room"]
+ else:
+ return []
+ hs.handlers.room_member_handler.get_rooms_for_user = get_rooms_for_user
self.mock_datastore = hs.get_datastore()
@@ -285,6 +291,17 @@ class PresenceEventStreamTestCase(unittest.TestCase):
return defer.succeed(None)
self.mock_datastore.get_profile_avatar_url = get_profile_avatar_url
+ def user_rooms_intersect(user_list):
+ room_member_ids = map(lambda u: u.to_string(), self.room_members)
+
+ shared = all(map(lambda i: i in room_member_ids, user_list))
+ return defer.succeed(shared)
+ self.mock_datastore.user_rooms_intersect = user_rooms_intersect
+
+ def get_joined_hosts_for_room(room_id):
+ return []
+ self.mock_datastore.get_joined_hosts_for_room = get_joined_hosts_for_room
+
self.presence = hs.get_handlers().presence_handler
self.u_apple = hs.parse_userid("@apple:test")
@@ -292,10 +309,14 @@ class PresenceEventStreamTestCase(unittest.TestCase):
@defer.inlineCallbacks
def test_shortpoll(self):
+ self.room_members = [self.u_apple, self.u_banana]
+
self.mock_datastore.set_presence_state.return_value = defer.succeed(
- {"state": ONLINE})
+ {"state": ONLINE}
+ )
self.mock_datastore.get_presence_list.return_value = defer.succeed(
- [])
+ []
+ )
(code, response) = yield self.mock_resource.trigger("GET",
"/events?timeout=0", None)
@@ -311,9 +332,11 @@ class PresenceEventStreamTestCase(unittest.TestCase):
)
self.mock_datastore.set_presence_state.return_value = defer.succeed(
- {"state": ONLINE})
+ {"state": ONLINE}
+ )
self.mock_datastore.get_presence_list.return_value = defer.succeed(
- [])
+ []
+ )
yield self.presence.set_state(self.u_banana, self.u_banana,
state={"presence": ONLINE}
@@ -328,7 +351,6 @@ class PresenceEventStreamTestCase(unittest.TestCase):
"content": {
"user_id": "@banana:test",
"presence": ONLINE,
- "state": ONLINE,
"displayname": "Frank",
"last_active_ago": 0,
}},
|