Files
@ 3c1d991755df
Branch filter:
Location: kallithea/rhodecode/tests/functional/test_forks.py - annotation
3c1d991755df
5.0 KiB
text/x-python
Use paste fileapp to properly send the archive size
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | f9559677c953 f9559677c953 f9559677c953 162bf5c978f8 162bf5c978f8 162bf5c978f8 f9559677c953 f9559677c953 f9559677c953 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 64e91067b996 64e91067b996 f9559677c953 f9559677c953 64e91067b996 64e91067b996 64e91067b996 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 f9559677c953 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 8ecc6b8229a5 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 64e91067b996 8321b3d19b1f 8321b3d19b1f 8321b3d19b1f 8321b3d19b1f 64e91067b996 64e91067b996 64e91067b996 64e91067b996 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 162bf5c978f8 | from rhodecode.tests import *
from rhodecode.model.db import Repository
from rhodecode.model.repo import RepoModel
from rhodecode.model.user import UserModel
class TestForksController(TestController):
def setUp(self):
self.username = u'forkuser'
self.password = u'qweqwe'
self.u1 = UserModel().create_or_update(
username=self.username, password=self.password,
email=u'fork_king@rhodecode.org', name=u'u1', lastname=u'u1'
)
self.Session.commit()
def tearDown(self):
self.Session.delete(self.u1)
self.Session.commit()
def test_index(self):
self.log_user()
repo_name = HG_REPO
response = self.app.get(url(controller='forks', action='forks',
repo_name=repo_name))
self.assertTrue("""There are no forks yet""" in response.body)
def test_index_with_fork(self):
self.log_user()
# create a fork
fork_name = HG_FORK
description = 'fork of vcs test'
repo_name = HG_REPO
org_repo = Repository.get_by_repo_name(repo_name)
response = self.app.post(url(controller='forks',
action='fork_create',
repo_name=repo_name),
{'repo_name':fork_name,
'repo_group':'',
'fork_parent_id':org_repo.repo_id,
'repo_type':'hg',
'description':description,
'private':'False'})
response = self.app.get(url(controller='forks', action='forks',
repo_name=repo_name))
self.assertTrue("""<a href="/%s/summary">"""
"""vcs_test_hg_fork</a>""" % fork_name
in response.body)
#remove this fork
response = self.app.delete(url('repo', repo_name=fork_name))
def test_z_fork_create(self):
self.log_user()
fork_name = HG_FORK
description = 'fork of vcs test'
repo_name = HG_REPO
org_repo = Repository.get_by_repo_name(repo_name)
response = self.app.post(url(controller='forks', action='fork_create',
repo_name=repo_name),
{'repo_name':fork_name,
'repo_group':'',
'fork_parent_id':org_repo.repo_id,
'repo_type':'hg',
'description':description,
'private':'False'})
#test if we have a message that fork is ok
self.assertTrue('forked %s repository as %s' \
% (repo_name, fork_name) in response.session['flash'][0])
#test if the fork was created in the database
fork_repo = self.Session.query(Repository)\
.filter(Repository.repo_name == fork_name).one()
self.assertEqual(fork_repo.repo_name, fork_name)
self.assertEqual(fork_repo.fork.repo_name, repo_name)
#test if fork is visible in the list ?
response = response.follow()
# check if fork is marked as fork
# wait for cache to expire
import time
time.sleep(10)
response = self.app.get(url(controller='summary', action='index',
repo_name=fork_name))
self.assertTrue('Fork of %s' % repo_name in response.body)
def test_zz_fork_permission_page(self):
usr = self.log_user(self.username, self.password)['user_id']
repo_name = HG_REPO
forks = self.Session.query(Repository)\
.filter(Repository.fork_id != None)\
.all()
self.assertEqual(1, len(forks))
# set read permissions for this
RepoModel().grant_user_permission(repo=forks[0],
user=usr,
perm='repository.read')
self.Session.commit()
response = self.app.get(url(controller='forks', action='forks',
repo_name=repo_name))
response.mustcontain('<div style="padding:5px 3px 3px 42px;">fork of vcs test</div>')
def test_zzz_fork_permission_page(self):
usr = self.log_user(self.username, self.password)['user_id']
repo_name = HG_REPO
forks = self.Session.query(Repository)\
.filter(Repository.fork_id != None)\
.all()
self.assertEqual(1, len(forks))
# set none
RepoModel().grant_user_permission(repo=forks[0],
user=usr, perm='repository.none')
self.Session.commit()
# fork shouldn't be there
response = self.app.get(url(controller='forks', action='forks',
repo_name=repo_name))
response.mustcontain('There are no forks yet')
|