Fix up the various presence-related tests so that if they're not skipped, they still PASS
parent
407c86c013
commit
d027e859cd
|
@ -92,10 +92,7 @@ class PresenceStateTestCase(unittest.TestCase):
|
||||||
self.datastore.is_presence_visible = is_presence_visible
|
self.datastore.is_presence_visible = is_presence_visible
|
||||||
|
|
||||||
# Mock the RoomMemberHandler
|
# Mock the RoomMemberHandler
|
||||||
room_member_handler = Mock(spec=[
|
room_member_handler = Mock(spec=[])
|
||||||
"get_rooms_for_user",
|
|
||||||
"get_room_members",
|
|
||||||
])
|
|
||||||
hs.handlers.room_member_handler = room_member_handler
|
hs.handlers.room_member_handler = room_member_handler
|
||||||
logging.getLogger().debug("Mocking room_member_handler=%r", 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([])
|
return defer.succeed([])
|
||||||
room_member_handler.get_room_members = get_room_members
|
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_start = Mock()
|
||||||
self.mock_stop = Mock()
|
self.mock_stop = Mock()
|
||||||
|
|
||||||
|
|
|
@ -102,6 +102,10 @@ class PresenceProfilelikeDataTestCase(unittest.TestCase):
|
||||||
])
|
])
|
||||||
self.datastore.get_presence_list = get_presence_list
|
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.handlers = hs.get_handlers()
|
||||||
|
|
||||||
self.mock_update_client = Mock()
|
self.mock_update_client = Mock()
|
||||||
|
|
|
@ -229,11 +229,19 @@ class PresenceEventStreamTestCase(unittest.TestCase):
|
||||||
|
|
||||||
# HIDEOUS HACKERY
|
# HIDEOUS HACKERY
|
||||||
# TODO(paul): This should be injected in via the HomeServer DI system
|
# TODO(paul): This should be injected in via the HomeServer DI system
|
||||||
from synapse.handlers.events import EventStreamHandler
|
from synapse.streams.events import (
|
||||||
from synapse.handlers.presence import PresenceStreamData
|
PresenceSource, NullSource, EventSources
|
||||||
EventStreamHandler.stream_data_classes = [
|
)
|
||||||
PresenceStreamData
|
|
||||||
]
|
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",
|
hs = HomeServer("test",
|
||||||
db_pool=None,
|
db_pool=None,
|
||||||
|
@ -288,7 +296,7 @@ class PresenceEventStreamTestCase(unittest.TestCase):
|
||||||
# all be ours
|
# all be ours
|
||||||
|
|
||||||
# I'll already get my own presence state change
|
# 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(
|
self.mock_datastore.set_presence_state.return_value = defer.succeed(
|
||||||
{"state": ONLINE})
|
{"state": ONLINE})
|
||||||
|
@ -299,10 +307,10 @@ class PresenceEventStreamTestCase(unittest.TestCase):
|
||||||
state={"state": ONLINE})
|
state={"state": ONLINE})
|
||||||
|
|
||||||
(code, response) = yield self.mock_resource.trigger("GET",
|
(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(200, code)
|
||||||
self.assertEquals({"start": "1", "end": "2", "chunk": [
|
self.assertEquals({"start": "0_1", "end": "0_2", "chunk": [
|
||||||
{"type": "m.presence",
|
{"type": "m.presence",
|
||||||
"content": {
|
"content": {
|
||||||
"user_id": "@banana:test",
|
"user_id": "@banana:test",
|
||||||
|
|
Loading…
Reference in New Issue