Fix set profile error with Requester.

Replace flush_user with delete access token due to function removal
Add a new test case for if the user is already registered
This commit is contained in:
Negi Fazeli 2016-05-23 11:14:11 +02:00
parent 09804c9862
commit 6fe04ffef2
2 changed files with 30 additions and 13 deletions

View file

@ -16,7 +16,7 @@
"""Contains functions for registering clients."""
from twisted.internet import defer
from synapse.types import UserID
from synapse.types import UserID, Requester
from synapse.api.errors import (
AuthError, Codes, SynapseError, RegistrationError, InvalidCaptchaError
)
@ -360,7 +360,8 @@ class RegistrationHandler(BaseHandler):
@defer.inlineCallbacks
def get_or_create_user(self, localpart, displayname, duration_seconds):
"""Creates a new user or returns an access token for an existing one
"""Creates a new user if the user does not exist,
else revokes all previous access tokens and generates a new one.
Args:
localpart : The local part of the user ID to register. If None,
@ -399,14 +400,14 @@ class RegistrationHandler(BaseHandler):
yield registered_user(self.distributor, user)
else:
yield self.store.flush_user(user_id=user_id)
yield self.store.user_delete_access_tokens(user_id=user_id)
yield self.store.add_access_token_to_user(user_id=user_id, token=token)
if displayname is not None:
logger.info("setting user display name: %s -> %s", user_id, displayname)
profile_handler = self.hs.get_handlers().profile_handler
yield profile_handler.set_displayname(
user, user, displayname
user, Requester(user, token, False), displayname
)
defer.returnValue((user_id, token))