From f724e84fda22fb73042ea344ec00be86b3a7c564 Mon Sep 17 00:00:00 2001 From: carlfeberhard Date: Thu, 7 Jul 2016 11:20:02 -0400 Subject: [PATCH] API, users: use default to assign username --- lib/galaxy/managers/users.py | 2 +- test/api/test_users.py | 5 +++-- test/unit/managers/test_UserManager.py | 5 +++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/galaxy/managers/users.py b/lib/galaxy/managers/users.py index 2fe9be1a435..d0f2f561551 100644 --- a/lib/galaxy/managers/users.py +++ b/lib/galaxy/managers/users.py @@ -307,7 +307,7 @@ class UserDeserializer( base.ModelDeserializer ): validation_error = validate_user_input.validate_publicname( trans, username, user=user ) if validation_error: raise base.ModelDeserializingError( validation_error ) - return username + return self.default_deserializer( user, key, username, trans=trans, **context ) class CurrentUserSerializer( UserSerializer ): diff --git a/test/api/test_users.py b/test/api/test_users.py index f651a1a4010..1154a918f26 100644 --- a/test/api/test_users.py +++ b/test/api/test_users.py @@ -36,13 +36,14 @@ class UsersApiTestCase( api.ApiTestCase ): self.__assert_matches_user( user, show_response.json() ) def test_update( self ): + new_name = 'mu' user = self._setup_user( TEST_USER_EMAIL ) with self._different_user( email=TEST_USER_EMAIL ): - update_response = self.__update( user, username='noob' ) + update_response = self.__update( user, username=new_name ) self._assert_status_code_is( update_response, 200 ) update_json = update_response.json() log.info( update_json ) - assert update_json[ 'username' ] == 'noob' + assert update_json[ 'username' ] == new_name def __show( self, user ): return self._get( "users/%s" % ( user[ 'id' ] ) ) diff --git a/test/unit/managers/test_UserManager.py b/test/unit/managers/test_UserManager.py index 19f7769b475..930bdb463b0 100644 --- a/test/unit/managers/test_UserManager.py +++ b/test/unit/managers/test_UserManager.py @@ -249,6 +249,11 @@ class UserDeserializerTestCase( BaseTestCase ): self.assertRaises( base_manager.ModelDeserializingError, self.deserializer.deserialize, user, { 'username': 'user3' }, trans=self.trans ) + self.log( "username should be updatable" ) + new_name = 'double-plus-good' + self.deserializer.deserialize( user, { 'username': new_name }, trans=self.trans ) + self.assertEqual( self.user_manager.by_id( user.id ).username, new_name ) + # ============================================================================= class AdminUserFilterParserTestCase( BaseTestCase ):