Initialise UserPresenceCache instances to always contain a 'presence' key

This commit is contained in:
Paul "LeoNerd" Evans 2014-11-19 17:30:35 +00:00
parent 4eada9a908
commit 03dc63f6c8
2 changed files with 10 additions and 6 deletions

View file

@ -139,9 +139,7 @@ class PresenceHandler(BaseHandler):
if user in self._user_cachemap:
return self._user_cachemap[user]
else:
statuscache = UserPresenceCache()
statuscache.update({"presence": PresenceState.OFFLINE}, user)
return statuscache
return UserPresenceCache()
def registered_user(self, user):
self.store.create_presence(user.localpart)
@ -873,7 +871,7 @@ class UserPresenceCache(object):
Includes the update timestamp.
"""
def __init__(self):
self.state = {}
self.state = {"presence": PresenceState.OFFLINE}
self.serial = None
def update(self, state, serial):

View file

@ -1200,7 +1200,10 @@ class PresencePollingTestCase(unittest.TestCase):
path=ANY,
data=_expect_edu("remote", "m.presence",
content={
"push": [ {"user_id": "@clementine:test" }],
"push": [ {
"user_id": "@clementine:test",
"presence": OFFLINE,
}],
},
),
json_data_callback=ANY,
@ -1229,7 +1232,10 @@ class PresencePollingTestCase(unittest.TestCase):
path=ANY,
data=_expect_edu("remote", "m.presence",
content={
"push": [ {"user_id": "@fig:test" }],
"push": [ {
"user_id": "@fig:test",
"presence": OFFLINE,
}],
},
),
json_data_callback=ANY,