@@ -170,96 +170,121 @@ class TestAdminUsersController(TestContr
def test_delete_repo_err(self):
self.log_user()
username = 'repoerr'
reponame = 'repoerr_fail'
fixture.create_user(name=username)
fixture.create_repo(name=reponame, cur_user=username)
new_user = Session().query(User)\
.filter(User.username == username).one()
response = self.app.delete(url('user', id=new_user.user_id))
self.checkSessionFlash(response, 'User "%s" still '
'owns 1 repositories and cannot be removed. '
'Switch owners or remove those repositories: '
'%s' % (username, reponame))
response = self.app.delete(url('repo', repo_name=reponame))
self.checkSessionFlash(response, 'Deleted repository %s' % reponame)
self.checkSessionFlash(response, 'Successfully deleted user')
def test_delete_repo_group_err(self):
username = 'repogrouperr'
groupname = 'repogroup_fail'
fixture.create_repo_group(name=groupname, cur_user=username)
'owns 1 repository groups and cannot be removed. '
'Switch owners or remove those repository groups: '
'%s' % (username, groupname))
# Relevant _if_ the user deletion succeeded to make sure we can render groups without owner
# rg = RepoGroup.get_by_group_name(group_name=groupname)
# response = self.app.get(url('repos_groups', id=rg.group_id))
response = self.app.delete(url('delete_repo_group', group_name=groupname))
self.checkSessionFlash(response, 'Removed repository group %s' % groupname)
def test_delete_user_group_err(self):
username = 'usergrouperr'
groupname = 'usergroup_fail'
ug = fixture.create_user_group(name=groupname, cur_user=username)
'owns 1 user groups and cannot be removed. '
'Switch owners or remove those user groups: '
# TODO: why do this fail?
#response = self.app.delete(url('delete_users_group', id=groupname))
#self.checkSessionFlash(response, 'Removed user group %s' % groupname)
fixture.destroy_user_group(ug.users_group_id)
def test_show(self):
response = self.app.get(url('user', id=1))
def test_edit(self):
user = User.get_by_username(TEST_USER_ADMIN_LOGIN)
response = self.app.get(url('edit_user', id=user.user_id))
def test_add_perm_create_repo(self):
perm_none = Permission.get_by_key('hg.create.none')
perm_create = Permission.get_by_key('hg.create.repository')
user = UserModel().create_or_update(username='dummy', password='qwe',
email='dummy', firstname='a',
lastname='b')
Session().commit()
uid = user.user_id
try:
#User should have None permission on creation repository
self.assertEqual(UserModel().has_perm(user, perm_none), False)
self.assertEqual(UserModel().has_perm(user, perm_create), False)
response = self.app.post(url('edit_user_perms', id=uid),
params=dict(_method='put',
create_repo_perm=True))
self.assertEqual(UserModel().has_perm(uid, perm_none), False)
self.assertEqual(UserModel().has_perm(uid, perm_create), True)
finally:
UserModel().delete(uid)
def test_revoke_perm_create_repo(self):
Status change: