Mercurial > kallithea
diff rhodecode/tests/functional/test_forks.py @ 2709:d2d35cf2b351 beta
RhodeCode now has a option to explicitly set forking permissions. ref #508
- changed the way permissons on users groups behave. Now explicit set on user
is more important than permission set on users group
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 10 Aug 2012 03:09:36 +0200 |
parents | 388843a3a3c0 |
children | f4ce9416cbd5 |
line wrap: on
line diff
--- a/rhodecode/tests/functional/test_forks.py Wed Aug 08 23:30:55 2012 +0200 +++ b/rhodecode/tests/functional/test_forks.py Fri Aug 10 03:09:36 2012 +0200 @@ -3,6 +3,7 @@ from rhodecode.model.db import Repository from rhodecode.model.repo import RepoModel from rhodecode.model.user import UserModel +from rhodecode.model.meta import Session class TestForksController(TestController): @@ -14,11 +15,11 @@ username=self.username, password=self.password, email=u'fork_king@rhodecode.org', firstname=u'u1', lastname=u'u1' ) - self.Session.commit() + Session().commit() def tearDown(self): - self.Session.delete(self.u1) - self.Session.commit() + Session().delete(self.u1) + Session().commit() def test_index(self): self.log_user() @@ -28,6 +29,20 @@ self.assertTrue("""There are no forks yet""" in response.body) + def test_no_permissions_to_fork(self): + usr = self.log_user(TEST_USER_REGULAR_LOGIN, + TEST_USER_REGULAR_PASS)['user_id'] + user_model = UserModel() + user_model.revoke_perm(usr, 'hg.fork.repository') + user_model.grant_perm(usr, 'hg.fork.none') + u = UserModel().get(usr) + u.inherit_default_permissions = False + Session().commit() + # try create a fork + repo_name = HG_REPO + self.app.post(url(controller='forks', action='fork_create', + repo_name=repo_name), {}, status=403) + def test_index_with_fork_hg(self): self.log_user() @@ -107,7 +122,7 @@ 'forked %s repository as %s' % (repo_name, fork_name)) #test if the fork was created in the database - fork_repo = self.Session.query(Repository)\ + fork_repo = Session().query(Repository)\ .filter(Repository.repo_name == fork_name).one() self.assertEqual(fork_repo.repo_name, fork_name) @@ -125,7 +140,7 @@ usr = self.log_user(self.username, self.password)['user_id'] repo_name = HG_REPO - forks = self.Session.query(Repository)\ + forks = Session().query(Repository)\ .filter(Repository.fork_id != None)\ .all() self.assertEqual(1, len(forks)) @@ -134,7 +149,7 @@ RepoModel().grant_user_permission(repo=forks[0], user=usr, perm='repository.read') - self.Session.commit() + Session().commit() response = self.app.get(url(controller='forks', action='forks', repo_name=repo_name)) @@ -145,7 +160,7 @@ usr = self.log_user(self.username, self.password)['user_id'] repo_name = HG_REPO - forks = self.Session.query(Repository)\ + forks = Session().query(Repository)\ .filter(Repository.fork_id != None)\ .all() self.assertEqual(1, len(forks)) @@ -153,7 +168,7 @@ # set none RepoModel().grant_user_permission(repo=forks[0], user=usr, perm='repository.none') - self.Session.commit() + Session().commit() # fork shouldn't be there response = self.app.get(url(controller='forks', action='forks', repo_name=repo_name))