diff --git a/rhodecode/tests/functional/test_home.py b/rhodecode/tests/functional/test_home.py --- a/rhodecode/tests/functional/test_home.py +++ b/rhodecode/tests/functional/test_home.py @@ -1,4 +1,7 @@ +import time from rhodecode.tests import * +from rhodecode.model.meta import Session +from rhodecode.model.db import User class TestHomeController(TestController): @@ -22,3 +25,37 @@ class TestHomeController(TestController) merge" class="tooltip" href="/vcs_test_hg/changeset/27cd5cce30c96924232""" """dffcd24178a07ffeb5dfc">r173:27cd5cce30c9""" ) + + def test_repo_summary_with_anonymous_access_disabled(self): + anon = User.get_by_username('default') + anon.active = False + Session().add(anon) + Session().commit() + time.sleep(1.5) # must sleep for cache (1s to expire) + try: + response = self.app.get(url(controller='summary', + action='index', repo_name=HG_REPO), + status=302) + assert 'login' in response.location + + finally: + anon = User.get_by_username('default') + anon.active = True + Session().add(anon) + Session().commit() + + def test_index_with_anonymous_access_disabled(self): + anon = User.get_by_username('default') + anon.active = False + Session().add(anon) + Session().commit() + time.sleep(1.5) # must sleep for cache (1s to expire) + try: + response = self.app.get(url(controller='home', action='index'), + status=302) + assert 'login' in response.location + finally: + anon = User.get_by_username('default') + anon.active = True + Session().add(anon) + Session().commit()