Mercurial > kallithea
changeset 4761:9b3063e16d9a
added tests for when users are deleted but still own repo objects. (Issue #64)
author | Joseph Rivera <rivera.d.joseph@gmail.com> |
---|---|
date | Mon, 22 Dec 2014 16:38:44 -0500 |
parents | 716194520cc0 |
children | 971d9ecdcc70 |
files | kallithea/tests/functional/test_admin_users.py |
diffstat | 1 files changed, 48 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/tests/functional/test_admin_users.py Tue Jan 06 00:54:36 2015 +0100 +++ b/kallithea/tests/functional/test_admin_users.py Mon Dec 22 16:38:44 2014 -0500 @@ -167,6 +167,54 @@ self.checkSessionFlash(response, 'Successfully deleted user') + 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) + + response = self.app.delete(url('user', id=new_user.user_id)) + self.checkSessionFlash(response, 'Successfully deleted user') + + def test_delete_repo_group_err(self): + self.log_user() + username = 'repogrouperr' + groupname = 'repogroup_fail' + + fixture.create_user(name=username) + fixture.create_repo_group(name=groupname, 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 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) + + response = self.app.delete(url('user', id=new_user.user_id)) + self.checkSessionFlash(response, 'Successfully deleted user') + def test_show(self): response = self.app.get(url('user', id=1))