Mercurial > kallithea
comparison rhodecode/tests/functional/test_admin_repos.py @ 2529:40b3a54391f9 beta
Added functional test create repo with a group
- unified calling Session in tests
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 01 Jul 2012 18:06:34 +0200 |
parents | 9492ab68331f |
children | 6104dfd35b16 |
comparison
equal
deleted
inserted
replaced
2528:5c8b1eaafe77 | 2529:40b3a54391f9 |
---|---|
1 # -*- coding: utf-8 -*- | 1 # -*- coding: utf-8 -*- |
2 | 2 |
3 import os | 3 import os |
4 from rhodecode.lib import vcs | 4 from rhodecode.lib import vcs |
5 | 5 |
6 from rhodecode.model.db import Repository | 6 from rhodecode.model.db import Repository, RepoGroup |
7 from rhodecode.tests import * | 7 from rhodecode.tests import * |
8 from rhodecode.model.repos_group import ReposGroupModel | |
9 from rhodecode.model.repo import RepoModel | |
8 | 10 |
9 | 11 |
10 class TestAdminReposController(TestController): | 12 class TestAdminReposController(TestController): |
11 | 13 |
12 def __make_repo(self): | 14 def __make_repo(self): |
34 'landing_rev': 'tip'}) | 36 'landing_rev': 'tip'}) |
35 self.checkSessionFlash(response, | 37 self.checkSessionFlash(response, |
36 'created repository %s' % (repo_name)) | 38 'created repository %s' % (repo_name)) |
37 | 39 |
38 #test if the repo was created in the database | 40 #test if the repo was created in the database |
39 new_repo = self.Session.query(Repository)\ | 41 new_repo = self.Session().query(Repository)\ |
40 .filter(Repository.repo_name == repo_name).one() | 42 .filter(Repository.repo_name == repo_name).one() |
41 | 43 |
42 self.assertEqual(new_repo.repo_name, repo_name) | 44 self.assertEqual(new_repo.repo_name, repo_name) |
43 self.assertEqual(new_repo.description, description) | 45 self.assertEqual(new_repo.description, description) |
44 | 46 |
70 'landing_rev': 'tip'}) | 72 'landing_rev': 'tip'}) |
71 self.checkSessionFlash(response, | 73 self.checkSessionFlash(response, |
72 'created repository %s' % (repo_name_unicode)) | 74 'created repository %s' % (repo_name_unicode)) |
73 | 75 |
74 #test if the repo was created in the database | 76 #test if the repo was created in the database |
75 new_repo = self.Session.query(Repository)\ | 77 new_repo = self.Session().query(Repository)\ |
76 .filter(Repository.repo_name == repo_name_unicode).one() | 78 .filter(Repository.repo_name == repo_name_unicode).one() |
77 | 79 |
78 self.assertEqual(new_repo.repo_name, repo_name_unicode) | 80 self.assertEqual(new_repo.repo_name, repo_name_unicode) |
79 self.assertEqual(new_repo.description, description_unicode) | 81 self.assertEqual(new_repo.description, description_unicode) |
80 | 82 |
88 vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name)) | 90 vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name)) |
89 except: | 91 except: |
90 self.fail('no repo %s in filesystem' % repo_name) | 92 self.fail('no repo %s in filesystem' % repo_name) |
91 | 93 |
92 def test_create_hg_in_group(self): | 94 def test_create_hg_in_group(self): |
93 #TODO: write test ! | 95 self.log_user() |
94 pass | 96 |
97 ## create GROUP | |
98 group_name = 'sometest' | |
99 gr = ReposGroupModel().create(group_name=group_name, | |
100 group_description='test',) | |
101 self.Session().commit() | |
102 | |
103 repo_name = 'ingroup' | |
104 repo_name_full = RepoGroup.url_sep().join([group_name, repo_name]) | |
105 description = 'description for newly created repo' | |
106 private = False | |
107 response = self.app.post(url('repos'), {'repo_name': repo_name, | |
108 'repo_type': 'hg', | |
109 'clone_uri': '', | |
110 'repo_group': gr.group_id, | |
111 'description': description, | |
112 'private': private, | |
113 'landing_rev': 'tip'}) | |
114 self.checkSessionFlash(response, | |
115 'created repository %s' % (repo_name)) | |
116 | |
117 #test if the repo was created in the database | |
118 new_repo = self.Session().query(Repository)\ | |
119 .filter(Repository.repo_name == repo_name_full).one() | |
120 | |
121 self.assertEqual(new_repo.repo_name, repo_name_full) | |
122 self.assertEqual(new_repo.description, description) | |
123 | |
124 #test if repository is visible in the list ? | |
125 response = response.follow() | |
126 | |
127 response.mustcontain(repo_name_full) | |
128 | |
129 #test if repository was created on filesystem | |
130 try: | |
131 vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name_full)) | |
132 except: | |
133 ReposGroupModel().delete(group_name) | |
134 self.Session().commit() | |
135 self.fail('no repo %s in filesystem' % repo_name) | |
136 | |
137 RepoModel().delete(repo_name_full) | |
138 ReposGroupModel().delete(group_name) | |
139 self.Session().commit() | |
95 | 140 |
96 def test_create_git(self): | 141 def test_create_git(self): |
97 self.log_user() | 142 self.log_user() |
98 repo_name = NEW_GIT_REPO | 143 repo_name = NEW_GIT_REPO |
99 description = 'description for newly created repo' | 144 description = 'description for newly created repo' |
107 'landing_rev': 'tip'}) | 152 'landing_rev': 'tip'}) |
108 self.checkSessionFlash(response, | 153 self.checkSessionFlash(response, |
109 'created repository %s' % (repo_name)) | 154 'created repository %s' % (repo_name)) |
110 | 155 |
111 #test if the repo was created in the database | 156 #test if the repo was created in the database |
112 new_repo = self.Session.query(Repository)\ | 157 new_repo = self.Session().query(Repository)\ |
113 .filter(Repository.repo_name == repo_name).one() | 158 .filter(Repository.repo_name == repo_name).one() |
114 | 159 |
115 self.assertEqual(new_repo.repo_name, repo_name) | 160 self.assertEqual(new_repo.repo_name, repo_name) |
116 self.assertEqual(new_repo.description, description) | 161 self.assertEqual(new_repo.description, description) |
117 | 162 |
143 'landing_rev': 'tip'}) | 188 'landing_rev': 'tip'}) |
144 self.checkSessionFlash(response, | 189 self.checkSessionFlash(response, |
145 'created repository %s' % (repo_name_unicode)) | 190 'created repository %s' % (repo_name_unicode)) |
146 | 191 |
147 #test if the repo was created in the database | 192 #test if the repo was created in the database |
148 new_repo = self.Session.query(Repository)\ | 193 new_repo = self.Session().query(Repository)\ |
149 .filter(Repository.repo_name == repo_name_unicode).one() | 194 .filter(Repository.repo_name == repo_name_unicode).one() |
150 | 195 |
151 self.assertEqual(new_repo.repo_name, repo_name_unicode) | 196 self.assertEqual(new_repo.repo_name, repo_name_unicode) |
152 self.assertEqual(new_repo.description, description_unicode) | 197 self.assertEqual(new_repo.description, description_unicode) |
153 | 198 |
190 'landing_rev': 'tip'}) | 235 'landing_rev': 'tip'}) |
191 self.checkSessionFlash(response, | 236 self.checkSessionFlash(response, |
192 'created repository %s' % (repo_name)) | 237 'created repository %s' % (repo_name)) |
193 | 238 |
194 #test if the repo was created in the database | 239 #test if the repo was created in the database |
195 new_repo = self.Session.query(Repository)\ | 240 new_repo = self.Session().query(Repository)\ |
196 .filter(Repository.repo_name == repo_name).one() | 241 .filter(Repository.repo_name == repo_name).one() |
197 | 242 |
198 self.assertEqual(new_repo.repo_name, repo_name) | 243 self.assertEqual(new_repo.repo_name, repo_name) |
199 self.assertEqual(new_repo.description, description) | 244 self.assertEqual(new_repo.description, description) |
200 | 245 |
215 response.session['flash'][0]) | 260 response.session['flash'][0]) |
216 | 261 |
217 response.follow() | 262 response.follow() |
218 | 263 |
219 #check if repo was deleted from db | 264 #check if repo was deleted from db |
220 deleted_repo = self.Session.query(Repository)\ | 265 deleted_repo = self.Session().query(Repository)\ |
221 .filter(Repository.repo_name == repo_name).scalar() | 266 .filter(Repository.repo_name == repo_name).scalar() |
222 | 267 |
223 self.assertEqual(deleted_repo, None) | 268 self.assertEqual(deleted_repo, None) |
224 | 269 |
225 self.assertEqual(os.path.isdir(os.path.join(TESTS_TMP_PATH, repo_name)), | 270 self.assertEqual(os.path.isdir(os.path.join(TESTS_TMP_PATH, repo_name)), |
239 'landing_rev': 'tip'}) | 284 'landing_rev': 'tip'}) |
240 self.checkSessionFlash(response, | 285 self.checkSessionFlash(response, |
241 'created repository %s' % (repo_name)) | 286 'created repository %s' % (repo_name)) |
242 | 287 |
243 #test if the repo was created in the database | 288 #test if the repo was created in the database |
244 new_repo = self.Session.query(Repository)\ | 289 new_repo = self.Session().query(Repository)\ |
245 .filter(Repository.repo_name == repo_name).one() | 290 .filter(Repository.repo_name == repo_name).one() |
246 | 291 |
247 self.assertEqual(new_repo.repo_name, repo_name) | 292 self.assertEqual(new_repo.repo_name, repo_name) |
248 self.assertEqual(new_repo.description, description) | 293 self.assertEqual(new_repo.description, description) |
249 | 294 |
264 response.session['flash'][0]) | 309 response.session['flash'][0]) |
265 | 310 |
266 response.follow() | 311 response.follow() |
267 | 312 |
268 #check if repo was deleted from db | 313 #check if repo was deleted from db |
269 deleted_repo = self.Session.query(Repository)\ | 314 deleted_repo = self.Session().query(Repository)\ |
270 .filter(Repository.repo_name == repo_name).scalar() | 315 .filter(Repository.repo_name == repo_name).scalar() |
271 | 316 |
272 self.assertEqual(deleted_repo, None) | 317 self.assertEqual(deleted_repo, None) |
273 | 318 |
274 self.assertEqual(os.path.isdir(os.path.join(TESTS_TMP_PATH, repo_name)), | 319 self.assertEqual(os.path.isdir(os.path.join(TESTS_TMP_PATH, repo_name)), |