test_home.py
83 lines
| 3.2 KiB
| text/x-python
|
PythonLexer
r2714 | import time | |||
r691 | from rhodecode.tests import * | |||
r3647 | from rhodecode.tests.fixture import Fixture | |||
r2714 | from rhodecode.model.meta import Session | |||
r3647 | from rhodecode.model.db import User, Repository | |||
r3167 | from rhodecode.model.repo import RepoModel | |||
from rhodecode.model.repos_group import ReposGroupModel | ||||
r691 | ||||
r1788 | ||||
r3647 | fixture = Fixture() | |||
r691 | class TestHomeController(TestController): | |||
def test_index(self): | ||||
self.log_user() | ||||
response = self.app.get(url(controller='home', action='index')) | ||||
#if global permission is set | ||||
r3215 | response.mustcontain('Add repository') | |||
Mads Kiilerich
|
r3752 | # html in javascript variable: | ||
response.mustcontain("""var data = {"totalRecords": %s""" | ||||
% len(Repository.getAll())) | ||||
response.mustcontain(r'href=\"/%s\"' % HG_REPO) | ||||
r875 | ||||
Mads Kiilerich
|
r3752 | response.mustcontain(r"""<img class=\"icon\" title=\"Mercurial repository\" """ | ||
r"""alt=\"Mercurial repository\" src=\"/images/icons/hg""" | ||||
r"""icon.png\"/>""") | ||||
response.mustcontain(r"""<img class=\"icon\" title=\"Public repository\" """ | ||||
r4010 | r"""alt=\"Public repository\" src=\"/images/icons/public_""" | |||
r"""repo.png\"/>""") | ||||
r1788 | ||||
r3797 | response.mustcontain("""fixes issue with having custom format for git-log""") | |||
response.mustcontain("""/%s/changeset/5f2c6ee195929b0be80749243c18121c9864a3b3""" % GIT_REPO) | ||||
response.mustcontain("""disable security checks on hg clone for travis""") | ||||
response.mustcontain("""/%s/changeset/96507bd11ecc815ebc6270fdf6db110928c09c1e""" % HG_REPO) | ||||
r2714 | ||||
def test_repo_summary_with_anonymous_access_disabled(self): | ||||
r3734 | anon = User.get_default_user() | |||
r2714 | 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: | ||||
r3734 | anon = User.get_default_user() | |||
r2714 | anon.active = True | |||
Session().add(anon) | ||||
Session().commit() | ||||
def test_index_with_anonymous_access_disabled(self): | ||||
r3734 | anon = User.get_default_user() | |||
r2714 | 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: | ||||
r3734 | anon = User.get_default_user() | |||
r2714 | anon.active = True | |||
Session().add(anon) | ||||
Session().commit() | ||||
r2946 | ||||
r3167 | def test_index_page_on_groups(self): | |||
self.log_user() | ||||
r3647 | gr = fixture.create_group('gr1') | |||
fixture.create_repo(name='gr1/repo_in_group', repos_group=gr) | ||||
r3167 | response = self.app.get(url('repos_group_home', group_name='gr1')) | |||
try: | ||||
r3647 | response.mustcontain("gr1/repo_in_group") | |||
r3167 | finally: | |||
RepoModel().delete('gr1/repo_in_group') | ||||
ReposGroupModel().delete(repos_group='gr1', force_delete=True) | ||||
Session().commit() | ||||