Fix checking if service notice room is already tagged

This manifested in synapse repeatedly setting the tag for the room
This commit is contained in:
Erik Johnston 2018-08-24 16:22:37 +01:00
parent 897d976c1e
commit 01a5a8b9e3
2 changed files with 4 additions and 4 deletions

View File

@ -146,11 +146,10 @@ class ResourceLimitsServerNotices(object):
user_id(str): the user in question user_id(str): the user in question
room_id(str): the server notices room for that user room_id(str): the server notices room for that user
""" """
tags = yield self._store.get_tags_for_user(user_id) tags = yield self._store.get_tags_for_room(user_id, room_id)
server_notices_tags = tags.get(room_id)
need_to_set_tag = True need_to_set_tag = True
if server_notices_tags: if tags:
if server_notices_tags.get(SERVER_NOTICE_ROOM_TAG): if SERVER_NOTICE_ROOM_TAG in tags:
# tag already present, nothing to do here # tag already present, nothing to do here
need_to_set_tag = False need_to_set_tag = False
if need_to_set_tag: if need_to_set_tag:

View File

@ -55,6 +55,7 @@ class TestResourceLimitsServerNotices(unittest.TestCase):
returnValue="" returnValue=""
) )
self._rlsn._store.add_tag_to_room = Mock() self._rlsn._store.add_tag_to_room = Mock()
self._rlsn._store.get_tags_for_room = Mock(return_value={})
self.hs.config.admin_uri = "mailto:user@test.com" self.hs.config.admin_uri = "mailto:user@test.com"
@defer.inlineCallbacks @defer.inlineCallbacks