Mercurial > kallithea
diff rhodecode/tests/fixture.py @ 3714:7e3d89d9d3a2 beta
- Manage User’s Groups: create, delete, rename, add/remove users inside.
by user group admin.
In this case, a user's group can be owned by several people thru an owner user's group.
Some refactoring of naming, permission handling logic.
- remove some code duplicity as well as inconsistent naming
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Mon, 08 Apr 2013 22:47:35 +0200 |
parents | 8a86836fad64 |
children | ffd45b185016 |
line wrap: on
line diff
--- a/rhodecode/tests/fixture.py Mon Apr 08 20:38:37 2013 +0200 +++ b/rhodecode/tests/fixture.py Mon Apr 08 22:47:35 2013 +0200 @@ -2,10 +2,11 @@ Helpers for fixture generation """ from rhodecode.tests import * -from rhodecode.model.db import Repository, User, RepoGroup +from rhodecode.model.db import Repository, User, RepoGroup, UserGroup from rhodecode.model.meta import Session from rhodecode.model.repo import RepoModel from rhodecode.model.repos_group import ReposGroupModel +from rhodecode.model.users_group import UserGroupModel class Fixture(object): @@ -43,6 +44,15 @@ return defs + def _get_user_group_create_params(self, name, **custom): + defs = dict( + users_group_name=name, + users_group_active=True, + ) + defs.update(custom) + + return defs + def create_repo(self, name, **kwargs): if 'skip_if_exists' in kwargs: del kwargs['skip_if_exists'] @@ -100,3 +110,17 @@ Session().commit() gr = RepoGroup.get_by_group_name(gr.group_name) return gr + + def create_user_group(self, name, **kwargs): + if 'skip_if_exists' in kwargs: + del kwargs['skip_if_exists'] + gr = UserGroup.get_by_group_name(group_name=name) + if gr: + return gr + form_data = self._get_user_group_create_params(name, **kwargs) + owner = kwargs.get('cur_user', TEST_USER_ADMIN_LOGIN) + user_group = UserGroupModel().create(name=form_data['users_group_name'], + owner=owner, active=form_data['users_group_active']) + Session().commit() + user_group = UserGroup.get_by_group_name(user_group.users_group_name) + return user_group