changeset 5319:598d0d0c4190

UserModel: remove methods that are redundant with db.User UserModel().get_by_api_key is exactly equivalent to User.get_by_api_key. UserModel's get_by_username and get_by_email are not exactly identical to their db.User counterparts, due to a difference in the order of optional arguments. Fortunately, these optional arguments are never used.
author Søren Løvborg <kwi@kwi.dk>
date Sun, 26 Jul 2015 13:58:50 +0200
parents 102bbfe8af43
children 837fc99ca140
files kallithea/controllers/api/api.py kallithea/model/user.py kallithea/tests/api/api_base.py
diffstat 3 files changed, 16 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/controllers/api/api.py	Sun Jul 26 13:58:50 2015 +0200
+++ b/kallithea/controllers/api/api.py	Sun Jul 26 13:58:50 2015 +0200
@@ -672,10 +672,10 @@
 
         """
 
-        if UserModel().get_by_username(username):
+        if User.get_by_username(username):
             raise JSONRPCError("user `%s` already exist" % (username,))
 
-        if UserModel().get_by_email(email, case_insensitive=True):
+        if User.get_by_email(email, case_insensitive=True):
             raise JSONRPCError("email `%s` already exist" % (email,))
 
         if Optional.extract(extern_name):
--- a/kallithea/model/user.py	Sun Jul 26 13:58:50 2015 +0200
+++ b/kallithea/model/user.py	Sun Jul 26 13:58:50 2015 +0200
@@ -59,15 +59,6 @@
     def get_user(self, user):
         return self._get_user(user)
 
-    def get_by_username(self, username, cache=False, case_insensitive=False):
-        return User.get_by_username(username, case_insensitive, cache)
-
-    def get_by_email(self, email, cache=False, case_insensitive=False):
-        return User.get_by_email(email, case_insensitive, cache)
-
-    def get_by_api_key(self, api_key, cache=False):
-        return User.get_by_api_key(api_key, cache)
-
     def create(self, form_data, cur_user=None):
         if not cur_user:
             cur_user = getattr(get_current_authuser(), 'username', None)
@@ -348,9 +339,9 @@
         if user_id is not None:
             dbuser = self.get(user_id)
         elif api_key is not None:
-            dbuser = self.get_by_api_key(api_key)
+            dbuser = User.get_by_api_key(api_key)
         elif username is not None:
-            dbuser = self.get_by_username(username)
+            dbuser = User.get_by_username(username)
 
         if dbuser is not None and dbuser.active:
             log.debug('filling %s data' % dbuser)
--- a/kallithea/tests/api/api_base.py	Sun Jul 26 13:58:50 2015 +0200
+++ b/kallithea/tests/api/api_base.py	Sun Jul 26 13:58:50 2015 +0200
@@ -94,7 +94,7 @@
 
     @classmethod
     def setup_class(cls):
-        cls.usr = UserModel().get_by_username(TEST_USER_ADMIN_LOGIN)
+        cls.usr = User.get_by_username(TEST_USER_ADMIN_LOGIN)
         cls.apikey = cls.usr.api_key
         cls.test_user = UserModel().create_or_update(
             username='test-api',
@@ -233,7 +233,7 @@
                                   userid=TEST_USER_ADMIN_LOGIN)
         response = api_call(self, params)
 
-        usr = UserModel().get_by_username(TEST_USER_ADMIN_LOGIN)
+        usr = User.get_by_username(TEST_USER_ADMIN_LOGIN)
         ret = usr.get_api_data()
         ret['permissions'] = AuthUser(usr.user_id).permissions
 
@@ -252,7 +252,7 @@
         id_, params = _build_data(self.apikey, 'get_user')
         response = api_call(self, params)
 
-        usr = UserModel().get_by_username(TEST_USER_ADMIN_LOGIN)
+        usr = User.get_by_username(TEST_USER_ADMIN_LOGIN)
         ret = usr.get_api_data()
         ret['permissions'] = AuthUser(usr.user_id).permissions
 
@@ -263,7 +263,7 @@
         id_, params = _build_data(self.apikey_regular, 'get_user')
         response = api_call(self, params)
 
-        usr = UserModel().get_by_username(self.TEST_USER_LOGIN)
+        usr = User.get_by_username(self.TEST_USER_LOGIN)
         ret = usr.get_api_data()
         ret['permissions'] = AuthUser(usr.user_id).permissions
 
@@ -580,7 +580,7 @@
                                   password='trololo')
         response = api_call(self, params)
 
-        usr = UserModel().get_by_username(username)
+        usr = User.get_by_username(username)
         ret = dict(
             msg='created new user `%s`' % username,
             user=jsonify(usr.get_api_data())
@@ -601,7 +601,7 @@
                                   email=email)
         response = api_call(self, params)
 
-        usr = UserModel().get_by_username(username)
+        usr = User.get_by_username(username)
         ret = dict(
             msg='created new user `%s`' % username,
             user=jsonify(usr.get_api_data())
@@ -621,7 +621,7 @@
                                   email=email, extern_name='internal')
         response = api_call(self, params)
 
-        usr = UserModel().get_by_username(username)
+        usr = User.get_by_username(username)
         ret = dict(
             msg='created new user `%s`' % username,
             user=jsonify(usr.get_api_data())
@@ -697,7 +697,7 @@
                            ('password', 'newpass')
     ])
     def test_api_update_user(self, name, expected):
-        usr = UserModel().get_by_username(self.TEST_USER_LOGIN)
+        usr = User.get_by_username(self.TEST_USER_LOGIN)
         kw = {name: expected,
               'userid': usr.user_id}
         id_, params = _build_data(self.apikey, 'update_user', **kw)
@@ -706,7 +706,7 @@
         ret = {
             'msg': 'updated user ID:%s %s' % (
                 usr.user_id, self.TEST_USER_LOGIN),
-            'user': jsonify(UserModel() \
+            'user': jsonify(User \
                 .get_by_username(self.TEST_USER_LOGIN) \
                 .get_api_data())
         }
@@ -715,7 +715,7 @@
         self._compare_ok(id_, expected, given=response.body)
 
     def test_api_update_user_no_changed_params(self):
-        usr = UserModel().get_by_username(TEST_USER_ADMIN_LOGIN)
+        usr = User.get_by_username(TEST_USER_ADMIN_LOGIN)
         ret = jsonify(usr.get_api_data())
         id_, params = _build_data(self.apikey, 'update_user',
                                   userid=TEST_USER_ADMIN_LOGIN)
@@ -730,7 +730,7 @@
         self._compare_ok(id_, expected, given=response.body)
 
     def test_api_update_user_by_user_id(self):
-        usr = UserModel().get_by_username(TEST_USER_ADMIN_LOGIN)
+        usr = User.get_by_username(TEST_USER_ADMIN_LOGIN)
         ret = jsonify(usr.get_api_data())
         id_, params = _build_data(self.apikey, 'update_user',
                                   userid=usr.user_id)
@@ -755,7 +755,7 @@
 
     @mock.patch.object(UserModel, 'update_user', crash)
     def test_api_update_user_when_exception_happens(self):
-        usr = UserModel().get_by_username(TEST_USER_ADMIN_LOGIN)
+        usr = User.get_by_username(TEST_USER_ADMIN_LOGIN)
         ret = jsonify(usr.get_api_data())
         id_, params = _build_data(self.apikey, 'update_user',
                                   userid=usr.user_id)