comparison rhodecode/tests/functional/test_admin_repos.py @ 3647:8a86836fad64 beta

more usage of fixture tools in tests
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 01 Apr 2013 23:45:25 +0200
parents aef5f5ce5ead
children 28305020a4ed
comparison
equal deleted inserted replaced
3646:63e49418a4cc 3647:8a86836fad64
8 Permission 8 Permission
9 from rhodecode.tests import * 9 from rhodecode.tests import *
10 from rhodecode.model.repos_group import ReposGroupModel 10 from rhodecode.model.repos_group import ReposGroupModel
11 from rhodecode.model.repo import RepoModel 11 from rhodecode.model.repo import RepoModel
12 from rhodecode.model.meta import Session 12 from rhodecode.model.meta import Session
13 from rhodecode.tests.fixture import Fixture
14
15 fixture = Fixture()
13 16
14 17
15 def _get_permission_for_user(user, repo): 18 def _get_permission_for_user(user, repo):
16 perm = UserRepoToPerm.query()\ 19 perm = UserRepoToPerm.query()\
17 .filter(UserRepoToPerm.repository == 20 .filter(UserRepoToPerm.repository ==
34 def test_create_hg(self): 37 def test_create_hg(self):
35 self.log_user() 38 self.log_user()
36 repo_name = NEW_HG_REPO 39 repo_name = NEW_HG_REPO
37 description = 'description for newly created repo' 40 description = 'description for newly created repo'
38 response = self.app.post(url('repos'), 41 response = self.app.post(url('repos'),
39 _get_repo_create_params(repo_private=False, 42 fixture._get_repo_create_params(repo_private=False,
40 repo_name=repo_name, 43 repo_name=repo_name,
41 repo_description=description)) 44 repo_description=description))
42 self.checkSessionFlash(response, 45 self.checkSessionFlash(response,
43 'Created repository <a href="/%s">%s</a>' 46 'Created repository <a href="/%s">%s</a>'
44 % (repo_name, repo_name)) 47 % (repo_name, repo_name))
68 repo_name_unicode = repo_name.decode('utf8') 71 repo_name_unicode = repo_name.decode('utf8')
69 description = 'description for newly created repo' + non_ascii 72 description = 'description for newly created repo' + non_ascii
70 description_unicode = description.decode('utf8') 73 description_unicode = description.decode('utf8')
71 private = False 74 private = False
72 response = self.app.post(url('repos'), 75 response = self.app.post(url('repos'),
73 _get_repo_create_params(repo_private=False, 76 fixture._get_repo_create_params(repo_private=False,
74 repo_name=repo_name, 77 repo_name=repo_name,
75 repo_description=description)) 78 repo_description=description))
76 self.checkSessionFlash(response, 79 self.checkSessionFlash(response,
77 u'Created repository <a href="/%s">%s</a>' 80 u'Created repository <a href="/%s">%s</a>'
78 % (urllib.quote(repo_name), repo_name_unicode)) 81 % (urllib.quote(repo_name), repo_name_unicode))
106 109
107 repo_name = 'ingroup' 110 repo_name = 'ingroup'
108 repo_name_full = RepoGroup.url_sep().join([group_name, repo_name]) 111 repo_name_full = RepoGroup.url_sep().join([group_name, repo_name])
109 description = 'description for newly created repo' 112 description = 'description for newly created repo'
110 response = self.app.post(url('repos'), 113 response = self.app.post(url('repos'),
111 _get_repo_create_params(repo_private=False, 114 fixture._get_repo_create_params(repo_private=False,
112 repo_name=repo_name, 115 repo_name=repo_name,
113 repo_description=description, 116 repo_description=description,
114 repo_group=gr.group_id,)) 117 repo_group=gr.group_id,))
115 118
116 self.checkSessionFlash(response, 119 self.checkSessionFlash(response,
144 self.log_user() 147 self.log_user()
145 repo_name = NEW_GIT_REPO 148 repo_name = NEW_GIT_REPO
146 description = 'description for newly created repo' 149 description = 'description for newly created repo'
147 150
148 response = self.app.post(url('repos'), 151 response = self.app.post(url('repos'),
149 _get_repo_create_params(repo_private=False, 152 fixture._get_repo_create_params(repo_private=False,
150 repo_type='git', 153 repo_type='git',
151 repo_name=repo_name, 154 repo_name=repo_name,
152 repo_description=description)) 155 repo_description=description))
153 self.checkSessionFlash(response, 156 self.checkSessionFlash(response,
154 'Created repository <a href="/%s">%s</a>' 157 'Created repository <a href="/%s">%s</a>'
179 repo_name_unicode = repo_name.decode('utf8') 182 repo_name_unicode = repo_name.decode('utf8')
180 description = 'description for newly created repo' + non_ascii 183 description = 'description for newly created repo' + non_ascii
181 description_unicode = description.decode('utf8') 184 description_unicode = description.decode('utf8')
182 private = False 185 private = False
183 response = self.app.post(url('repos'), 186 response = self.app.post(url('repos'),
184 _get_repo_create_params(repo_private=False, 187 fixture._get_repo_create_params(repo_private=False,
185 repo_type='git', 188 repo_type='git',
186 repo_name=repo_name, 189 repo_name=repo_name,
187 repo_description=description)) 190 repo_description=description))
188 191
189 self.checkSessionFlash(response, 192 self.checkSessionFlash(response,
218 def test_delete_hg(self): 221 def test_delete_hg(self):
219 self.log_user() 222 self.log_user()
220 repo_name = 'vcs_test_new_to_delete' 223 repo_name = 'vcs_test_new_to_delete'
221 description = 'description for newly created repo' 224 description = 'description for newly created repo'
222 response = self.app.post(url('repos'), 225 response = self.app.post(url('repos'),
223 _get_repo_create_params(repo_private=False, 226 fixture._get_repo_create_params(repo_private=False,
224 repo_type='hg', 227 repo_type='hg',
225 repo_name=repo_name, 228 repo_name=repo_name,
226 repo_description=description)) 229 repo_description=description))
227 230
228 self.checkSessionFlash(response, 231 self.checkSessionFlash(response,
265 self.log_user() 268 self.log_user()
266 repo_name = 'vcs_test_new_to_delete' 269 repo_name = 'vcs_test_new_to_delete'
267 description = 'description for newly created repo' 270 description = 'description for newly created repo'
268 private = False 271 private = False
269 response = self.app.post(url('repos'), 272 response = self.app.post(url('repos'),
270 _get_repo_create_params(repo_private=False, 273 fixture._get_repo_create_params(repo_private=False,
271 repo_type='git', 274 repo_type='git',
272 repo_name=repo_name, 275 repo_name=repo_name,
273 repo_description=description)) 276 repo_description=description))
274 277
275 self.checkSessionFlash(response, 278 self.checkSessionFlash(response,
335 self.assertTrue(len(perm), 1) 338 self.assertTrue(len(perm), 1)
336 self.assertEqual(perm[0].permission.permission_name, 'repository.read') 339 self.assertEqual(perm[0].permission.permission_name, 'repository.read')
337 self.assertEqual(Repository.get_by_repo_name(HG_REPO).private, False) 340 self.assertEqual(Repository.get_by_repo_name(HG_REPO).private, False)
338 341
339 response = self.app.put(url('repo', repo_name=HG_REPO), 342 response = self.app.put(url('repo', repo_name=HG_REPO),
340 _get_repo_create_params(repo_private=1, 343 fixture._get_repo_create_params(repo_private=1,
341 repo_name=HG_REPO, 344 repo_name=HG_REPO,
342 user=TEST_USER_ADMIN_LOGIN)) 345 user=TEST_USER_ADMIN_LOGIN))
343 self.checkSessionFlash(response, 346 self.checkSessionFlash(response,
344 msg='Repository %s updated successfully' % (HG_REPO)) 347 msg='Repository %s updated successfully' % (HG_REPO))
345 self.assertEqual(Repository.get_by_repo_name(HG_REPO).private, True) 348 self.assertEqual(Repository.get_by_repo_name(HG_REPO).private, True)
348 perm = _get_permission_for_user(user='default', repo=HG_REPO) 351 perm = _get_permission_for_user(user='default', repo=HG_REPO)
349 self.assertTrue(len(perm), 1) 352 self.assertTrue(len(perm), 1)
350 self.assertEqual(perm[0].permission.permission_name, 'repository.none') 353 self.assertEqual(perm[0].permission.permission_name, 'repository.none')
351 354
352 response = self.app.put(url('repo', repo_name=HG_REPO), 355 response = self.app.put(url('repo', repo_name=HG_REPO),
353 _get_repo_create_params(repo_private=False, 356 fixture._get_repo_create_params(repo_private=False,
354 repo_name=HG_REPO, 357 repo_name=HG_REPO,
355 user=TEST_USER_ADMIN_LOGIN)) 358 user=TEST_USER_ADMIN_LOGIN))
356 self.checkSessionFlash(response, 359 self.checkSessionFlash(response,
357 msg='Repository %s updated successfully' % (HG_REPO)) 360 msg='Repository %s updated successfully' % (HG_REPO))
358 self.assertEqual(Repository.get_by_repo_name(HG_REPO).private, False) 361 self.assertEqual(Repository.get_by_repo_name(HG_REPO).private, False)