##// END OF EJS Templates
some tests fixes for compare view
marcink -
r3379:8171dfaf beta
parent child Browse files
Show More
@@ -62,14 +62,25 b' def _commit_change(repo, filename, conte'
62
62
63 class TestCompareController(TestController):
63 class TestCompareController(TestController):
64
64
65 def setUp(self):
66 self.r1_id = None
67 self.r2_id = None
68
69 def tearDown(self):
70 if self.r2_id:
71 RepoModel().delete(self.r2_id)
72 if self.r1_id:
73 RepoModel().delete(self.r1_id)
74 Session().commit()
75 Session.remove()
76
65 def test_compare_forks_on_branch_extra_commits_hg(self):
77 def test_compare_forks_on_branch_extra_commits_hg(self):
66 self.log_user()
78 self.log_user()
67
68 repo1 = RepoModel().create_repo(repo_name='one', repo_type='hg',
79 repo1 = RepoModel().create_repo(repo_name='one', repo_type='hg',
69 description='diff-test',
80 description='diff-test',
70 owner=TEST_USER_ADMIN_LOGIN)
81 owner=TEST_USER_ADMIN_LOGIN)
71 r1_id = repo1.repo_id
72 Session().commit()
82 Session().commit()
83 self.r1_id = repo1.repo_id
73 #commit something !
84 #commit something !
74 cs0 = _commit_change(repo1.repo_name, filename='file1', content='line1\n',
85 cs0 = _commit_change(repo1.repo_name, filename='file1', content='line1\n',
75 message='commit1', vcs_type='hg', parent=None, newfile=True)
86 message='commit1', vcs_type='hg', parent=None, newfile=True)
@@ -77,7 +88,7 b' class TestCompareController(TestControll'
77 #fork this repo
88 #fork this repo
78 repo2 = _fork_repo('one-fork', 'hg', parent='one')
89 repo2 = _fork_repo('one-fork', 'hg', parent='one')
79 Session().commit()
90 Session().commit()
80 r2_id = repo2.repo_id
91 self.r2_id = repo2.repo_id
81
92
82 #add two extra commit into fork
93 #add two extra commit into fork
83 cs1 = _commit_change(repo2.repo_name, filename='file1', content='line1\nline2\n',
94 cs1 = _commit_change(repo2.repo_name, filename='file1', content='line1\nline2\n',
@@ -89,8 +100,6 b' class TestCompareController(TestControll'
89 rev1 = 'default'
100 rev1 = 'default'
90 rev2 = 'default'
101 rev2 = 'default'
91
102
92
93 try:
94 response = self.app.get(url(controller='compare', action='index',
103 response = self.app.get(url(controller='compare', action='index',
95 repo_name=repo1.repo_name,
104 repo_name=repo1.repo_name,
96 org_ref_type="branch",
105 org_ref_type="branch",
@@ -113,9 +122,6 b' class TestCompareController(TestControll'
113 response.mustcontain("""<a href="/%s/compare/branch@%s...branch@%s?other_repo=%s#C--826e8142e6ba">file1</a>""" % (repo1.repo_name, rev2, rev1, repo2.repo_name))
122 response.mustcontain("""<a href="/%s/compare/branch@%s...branch@%s?other_repo=%s#C--826e8142e6ba">file1</a>""" % (repo1.repo_name, rev2, rev1, repo2.repo_name))
114 #swap
123 #swap
115 response.mustcontain("""<a href="/%s/compare/branch@%s...branch@%s?as_form=None&amp;other_repo=%s">[swap]</a>""" % (repo2.repo_name, rev1, rev2, repo1.repo_name))
124 response.mustcontain("""<a href="/%s/compare/branch@%s...branch@%s?as_form=None&amp;other_repo=%s">[swap]</a>""" % (repo2.repo_name, rev1, rev2, repo1.repo_name))
116 finally:
117 RepoModel().delete(r2_id)
118 RepoModel().delete(r1_id)
119
125
120 def test_compare_forks_on_branch_extra_commits_origin_has_incomming_hg(self):
126 def test_compare_forks_on_branch_extra_commits_origin_has_incomming_hg(self):
121 self.log_user()
127 self.log_user()
@@ -123,8 +129,9 b' class TestCompareController(TestControll'
123 repo1 = RepoModel().create_repo(repo_name='one', repo_type='hg',
129 repo1 = RepoModel().create_repo(repo_name='one', repo_type='hg',
124 description='diff-test',
130 description='diff-test',
125 owner=TEST_USER_ADMIN_LOGIN)
131 owner=TEST_USER_ADMIN_LOGIN)
126 r1_id = repo1.repo_id
127 Session().commit()
132 Session().commit()
133 self.r1_id = repo1.repo_id
134
128 #commit something !
135 #commit something !
129 cs0 = _commit_change(repo1.repo_name, filename='file1', content='line1\n',
136 cs0 = _commit_change(repo1.repo_name, filename='file1', content='line1\n',
130 message='commit1', vcs_type='hg', parent=None, newfile=True)
137 message='commit1', vcs_type='hg', parent=None, newfile=True)
@@ -132,13 +139,12 b' class TestCompareController(TestControll'
132 #fork this repo
139 #fork this repo
133 repo2 = _fork_repo('one-fork', 'hg', parent='one')
140 repo2 = _fork_repo('one-fork', 'hg', parent='one')
134 Session().commit()
141 Session().commit()
142 self.r2_id = repo2.repo_id
135
143
136 #now commit something to origin repo
144 #now commit something to origin repo
137 cs1_prim = _commit_change(repo1.repo_name, filename='file2', content='line1file2\n',
145 cs1_prim = _commit_change(repo1.repo_name, filename='file2', content='line1file2\n',
138 message='commit2', vcs_type='hg', parent=cs0, newfile=True)
146 message='commit2', vcs_type='hg', parent=cs0, newfile=True)
139
147
140 r2_id = repo2.repo_id
141
142 #add two extra commit into fork
148 #add two extra commit into fork
143 cs1 = _commit_change(repo2.repo_name, filename='file1', content='line1\nline2\n',
149 cs1 = _commit_change(repo2.repo_name, filename='file1', content='line1\nline2\n',
144 message='commit2', vcs_type='hg', parent=cs0)
150 message='commit2', vcs_type='hg', parent=cs0)
@@ -149,7 +155,6 b' class TestCompareController(TestControll'
149 rev1 = 'default'
155 rev1 = 'default'
150 rev2 = 'default'
156 rev2 = 'default'
151
157
152 try:
153 response = self.app.get(url(controller='compare', action='index',
158 response = self.app.get(url(controller='compare', action='index',
154 repo_name=repo1.repo_name,
159 repo_name=repo1.repo_name,
155 org_ref_type="branch",
160 org_ref_type="branch",
@@ -171,9 +176,6 b' class TestCompareController(TestControll'
171 response.mustcontain("""<a href="/%s/compare/branch@%s...branch@%s?other_repo=%s#C--826e8142e6ba">file1</a>""" % (repo1.repo_name, rev2, rev1, repo2.repo_name))
176 response.mustcontain("""<a href="/%s/compare/branch@%s...branch@%s?other_repo=%s#C--826e8142e6ba">file1</a>""" % (repo1.repo_name, rev2, rev1, repo2.repo_name))
172 #swap
177 #swap
173 response.mustcontain("""<a href="/%s/compare/branch@%s...branch@%s?as_form=None&amp;other_repo=%s">[swap]</a>""" % (repo2.repo_name, rev1, rev2, repo1.repo_name))
178 response.mustcontain("""<a href="/%s/compare/branch@%s...branch@%s?as_form=None&amp;other_repo=%s">[swap]</a>""" % (repo2.repo_name, rev1, rev2, repo1.repo_name))
174 finally:
175 RepoModel().delete(r2_id)
176 RepoModel().delete(r1_id)
177
179
178 def test_compare_cherry_pick_changesets_from_bottom(self):
180 def test_compare_cherry_pick_changesets_from_bottom(self):
179 """
181 """
@@ -194,8 +196,9 b' class TestCompareController(TestControll'
194 repo1 = RepoModel().create_repo(repo_name='repo1', repo_type='hg',
196 repo1 = RepoModel().create_repo(repo_name='repo1', repo_type='hg',
195 description='diff-test',
197 description='diff-test',
196 owner=TEST_USER_ADMIN_LOGIN)
198 owner=TEST_USER_ADMIN_LOGIN)
197 r1_id = repo1.repo_id
198 Session().commit()
199 Session().commit()
200 self.r1_id = repo1.repo_id
201
199 #commit something !
202 #commit something !
200 cs1 = _commit_change(repo1.repo_name, filename='file1', content='line1\n',
203 cs1 = _commit_change(repo1.repo_name, filename='file1', content='line1\n',
201 message='commit1', vcs_type='hg', parent=None,
204 message='commit1', vcs_type='hg', parent=None,
@@ -205,7 +208,7 b' class TestCompareController(TestControll'
205 #fork this repo
208 #fork this repo
206 repo2 = _fork_repo('repo1-fork', 'hg', parent='repo1')
209 repo2 = _fork_repo('repo1-fork', 'hg', parent='repo1')
207 Session().commit()
210 Session().commit()
208 r2_id = repo1.repo_id
211 self.r2_id = repo2.repo_id
209 #now make cs3-6
212 #now make cs3-6
210 cs3 = _commit_change(repo1.repo_name, filename='file1', content='line1\nline2\nline3\n',
213 cs3 = _commit_change(repo1.repo_name, filename='file1', content='line1\nline2\nline3\n',
211 message='commit3', vcs_type='hg', parent=cs2)
214 message='commit3', vcs_type='hg', parent=cs2)
@@ -219,7 +222,6 b' class TestCompareController(TestControll'
219 rev1 = 'tip'
222 rev1 = 'tip'
220 rev2 = 'tip'
223 rev2 = 'tip'
221
224
222 try:
223 response = self.app.get(url(controller='compare', action='index',
225 response = self.app.get(url(controller='compare', action='index',
224 repo_name=repo2.repo_name,
226 repo_name=repo2.repo_name,
225 org_ref_type="tag",
227 org_ref_type="tag",
@@ -245,9 +247,6 b' class TestCompareController(TestControll'
245 response.mustcontain("""<a href="/%s/compare/tag@%s...tag@%s?other_repo=%s#C--826e8142e6ba">file1</a>""" % (repo2.repo_name, rev1, rev2, repo1.repo_name))
247 response.mustcontain("""<a href="/%s/compare/tag@%s...tag@%s?other_repo=%s#C--826e8142e6ba">file1</a>""" % (repo2.repo_name, rev1, rev2, repo1.repo_name))
246 #swap
248 #swap
247 response.mustcontain("""<a href="/%s/compare/tag@%s...tag@%s?as_form=None&amp;other_repo=%s">[swap]</a>""" % (repo1.repo_name, rev1, rev2, repo2.repo_name))
249 response.mustcontain("""<a href="/%s/compare/tag@%s...tag@%s?as_form=None&amp;other_repo=%s">[swap]</a>""" % (repo1.repo_name, rev1, rev2, repo2.repo_name))
248 finally:
249 RepoModel().delete(r2_id)
250 RepoModel().delete(r1_id)
251
250
252 def test_compare_cherry_pick_changesets_from_top(self):
251 def test_compare_cherry_pick_changesets_from_top(self):
253 """
252 """
@@ -264,12 +263,12 b' class TestCompareController(TestControll'
264 """
263 """
265 #make repo1, and cs1+cs2
264 #make repo1, and cs1+cs2
266 self.log_user()
265 self.log_user()
267
268 repo1 = RepoModel().create_repo(repo_name='repo1', repo_type='hg',
266 repo1 = RepoModel().create_repo(repo_name='repo1', repo_type='hg',
269 description='diff-test',
267 description='diff-test',
270 owner=TEST_USER_ADMIN_LOGIN)
268 owner=TEST_USER_ADMIN_LOGIN)
271 r1_id = repo1.repo_id
272 Session().commit()
269 Session().commit()
270 self.r1_id = repo1.repo_id
271
273 #commit something !
272 #commit something !
274 cs1 = _commit_change(repo1.repo_name, filename='file1', content='line1\n',
273 cs1 = _commit_change(repo1.repo_name, filename='file1', content='line1\n',
275 message='commit1', vcs_type='hg', parent=None,
274 message='commit1', vcs_type='hg', parent=None,
@@ -279,7 +278,7 b' class TestCompareController(TestControll'
279 #fork this repo
278 #fork this repo
280 repo2 = _fork_repo('repo1-fork', 'hg', parent='repo1')
279 repo2 = _fork_repo('repo1-fork', 'hg', parent='repo1')
281 Session().commit()
280 Session().commit()
282 r2_id = repo1.repo_id
281 self.r2_id = repo1.repo_id
283 #now make cs3-6
282 #now make cs3-6
284 cs3 = _commit_change(repo1.repo_name, filename='file1', content='line1\nline2\nline3\n',
283 cs3 = _commit_change(repo1.repo_name, filename='file1', content='line1\nline2\nline3\n',
285 message='commit3', vcs_type='hg', parent=cs2)
284 message='commit3', vcs_type='hg', parent=cs2)
@@ -289,11 +288,9 b' class TestCompareController(TestControll'
289 message='commit5', vcs_type='hg', parent=cs4)
288 message='commit5', vcs_type='hg', parent=cs4)
290 cs6 = _commit_change(repo1.repo_name, filename='file1', content='line1\nline2\nline3\nline4\nline5\nline6\n',
289 cs6 = _commit_change(repo1.repo_name, filename='file1', content='line1\nline2\nline3\nline4\nline5\nline6\n',
291 message='commit6', vcs_type='hg', parent=cs5)
290 message='commit6', vcs_type='hg', parent=cs5)
292
293 rev1 = 'tip'
291 rev1 = 'tip'
294 rev2 = 'tip'
292 rev2 = 'tip'
295
293
296 try:
297 response = self.app.get(url(controller='compare', action='index',
294 response = self.app.get(url(controller='compare', action='index',
298 repo_name=repo2.repo_name,
295 repo_name=repo2.repo_name,
299 org_ref_type="tag",
296 org_ref_type="tag",
@@ -320,9 +317,6 b' class TestCompareController(TestControll'
320 response.mustcontain("""<a href="/%s/compare/tag@%s...tag@%s?other_repo=%s#C--826e8142e6ba">file1</a>""" % (repo2.repo_name, rev1, rev2, repo1.repo_name))
317 response.mustcontain("""<a href="/%s/compare/tag@%s...tag@%s?other_repo=%s#C--826e8142e6ba">file1</a>""" % (repo2.repo_name, rev1, rev2, repo1.repo_name))
321 #swap
318 #swap
322 response.mustcontain("""<a href="/%s/compare/tag@%s...tag@%s?as_form=None&amp;other_repo=%s">[swap]</a>""" % (repo1.repo_name, rev1, rev2, repo2.repo_name))
319 response.mustcontain("""<a href="/%s/compare/tag@%s...tag@%s?as_form=None&amp;other_repo=%s">[swap]</a>""" % (repo1.repo_name, rev1, rev2, repo2.repo_name))
323 finally:
324 RepoModel().delete(r2_id)
325 RepoModel().delete(r1_id)
326
320
327 def test_compare_cherry_pick_changeset_mixed_branches(self):
321 def test_compare_cherry_pick_changeset_mixed_branches(self):
328 """
322 """
@@ -339,7 +333,6 b' class TestCompareController(TestControll'
339 rev1 = '56349e29c2af'
333 rev1 = '56349e29c2af'
340 rev2 = '7d4bc8ec6be5'
334 rev2 = '7d4bc8ec6be5'
341
335
342 try:
343 response = self.app.get(url(controller='compare', action='index',
336 response = self.app.get(url(controller='compare', action='index',
344 repo_name=HG_REPO,
337 repo_name=HG_REPO,
345 org_ref_type="rev",
338 org_ref_type="rev",
@@ -351,16 +344,14 b' class TestCompareController(TestControll'
351 response.mustcontain('%s@%s -&gt; %s@%s' % (HG_REPO, rev1, HG_FORK, rev2))
344 response.mustcontain('%s@%s -&gt; %s@%s' % (HG_REPO, rev1, HG_FORK, rev2))
352 ## outgoing changesets between those revisions
345 ## outgoing changesets between those revisions
353
346
354 response.mustcontain("""<a href="/%s/changeset/2dda4e345facb0ccff1a191052dd1606dba6781d">r4:2dda4e345fac</a>""" % (HG_REPO))
347 response.mustcontain("""<a href="/%s/changeset/2dda4e345facb0ccff1a191052dd1606dba6781d">r4:2dda4e345fac</a>""" % (HG_FORK))
355 response.mustcontain("""<a href="/%s/changeset/6fff84722075f1607a30f436523403845f84cd9e">r5:6fff84722075</a>""" % (HG_REPO))
348 response.mustcontain("""<a href="/%s/changeset/6fff84722075f1607a30f436523403845f84cd9e">r5:6fff84722075</a>""" % (HG_FORK))
356 response.mustcontain("""<a href="/%s/changeset/7d4bc8ec6be56c0f10425afb40b6fc315a4c25e7">r6:%s</a>""" % (HG_REPO, rev2))
349 response.mustcontain("""<a href="/%s/changeset/7d4bc8ec6be56c0f10425afb40b6fc315a4c25e7">r6:%s</a>""" % (HG_FORK, rev2))
357
350
358 ## files
351 ## files
359 response.mustcontain("""<a href="/%s/compare/rev@%s...rev@%s#C--9c390eb52cd6">vcs/backends/hg.py</a>""" % (HG_REPO, rev1, rev2))
352 response.mustcontain("""<a href="/%s/compare/rev@%s...rev@%s?other_repo=%s#C--9c390eb52cd6">vcs/backends/hg.py</a>""" % (HG_REPO, rev1, rev2, HG_FORK))
360 response.mustcontain("""<a href="/%s/compare/rev@%s...rev@%s#C--41b41c1f2796">vcs/backends/__init__.py</a>""" % (HG_REPO, rev1, rev2))
353 response.mustcontain("""<a href="/%s/compare/rev@%s...rev@%s?other_repo=%s#C--41b41c1f2796">vcs/backends/__init__.py</a>""" % (HG_REPO, rev1, rev2, HG_FORK))
361 response.mustcontain("""<a href="/%s/compare/rev@%s...rev@%s#C--2f574d260608">vcs/backends/base.py</a>""" % (HG_REPO, rev1, rev2))
354 response.mustcontain("""<a href="/%s/compare/rev@%s...rev@%s?other_repo=%s#C--2f574d260608">vcs/backends/base.py</a>""" % (HG_REPO, rev1, rev2, HG_FORK))
362 finally:
363 RepoModel().delete(HG_FORK)
364
355
365 def test_org_repo_new_commits_after_forking_simple_diff(self):
356 def test_org_repo_new_commits_after_forking_simple_diff(self):
366 self.log_user()
357 self.log_user()
@@ -370,7 +361,7 b' class TestCompareController(TestControll'
370 owner=TEST_USER_ADMIN_LOGIN)
361 owner=TEST_USER_ADMIN_LOGIN)
371
362
372 Session().commit()
363 Session().commit()
373 r1_id = repo1.repo_id
364 self.r1_id = repo1.repo_id
374 r1_name = repo1.repo_name
365 r1_name = repo1.repo_name
375
366
376 #commit something initially !
367 #commit something initially !
@@ -391,7 +382,7 b' class TestCompareController(TestControll'
391 owner=TEST_USER_ADMIN_LOGIN, fork_of='one')
382 owner=TEST_USER_ADMIN_LOGIN, fork_of='one')
392 Session().commit()
383 Session().commit()
393 self.assertEqual(repo2.scm_instance.revisions, [cs0.raw_id])
384 self.assertEqual(repo2.scm_instance.revisions, [cs0.raw_id])
394 r2_id = repo2.repo_id
385 self.r2_id = repo2.repo_id
395 r2_name = repo2.repo_name
386 r2_name = repo2.repo_name
396
387
397 #make 3 new commits in fork
388 #make 3 new commits in fork
@@ -424,24 +415,25 b' class TestCompareController(TestControll'
424 rev1 = 'default'
415 rev1 = 'default'
425 rev2 = 'default'
416 rev2 = 'default'
426
417
427 try:
428 response = self.app.get(url(controller='compare', action='index',
418 response = self.app.get(url(controller='compare', action='index',
429 repo_name=r2_name,
419 repo_name=r2_name,
430 org_ref_type="branch",
420 org_ref_type="branch",
431 org_ref=rev1,
421 org_ref=rev1,
432 other_ref_type="branch",
422 other_ref_type="branch",
433 other_ref=rev2,
423 other_ref=rev2,
434 repo=r1_name,
424 other_repo=r1_name,
435 ))
425 ))
436 #response.mustcontain('%s@%s -&gt; %s@%s' % (r2_name, rev1, r1_name, rev2))
426 response.mustcontain('%s@%s -&gt; %s@%s' % (r2_name, rev1, r1_name, rev2))
427 response.mustcontain('No files')
428 response.mustcontain('No changesets')
437
429
438 #add new commit into parent !
430 #add new commit into parent !
439 cs0 = ScmModel().create_node(
431 cs0 = ScmModel().create_node(
440 repo=repo1.scm_instance, repo_name=r1_name,
432 repo=repo1.scm_instance, repo_name=r1_name,
441 cs=EmptyChangeset(alias='hg'), user=TEST_USER_ADMIN_LOGIN,
433 cs=EmptyChangeset(alias='hg'), user=TEST_USER_ADMIN_LOGIN,
442 author=TEST_USER_ADMIN_LOGIN,
434 author=TEST_USER_ADMIN_LOGIN,
443 message='commit2',
435 message='commit2-parent',
444 content='line1',
436 content='line1-added-after-fork',
445 f_path='file2'
437 f_path='file2'
446 )
438 )
447 #compare !
439 #compare !
@@ -453,17 +445,11 b' class TestCompareController(TestControll'
453 org_ref=rev1,
445 org_ref=rev1,
454 other_ref_type="branch",
446 other_ref_type="branch",
455 other_ref=rev2,
447 other_ref=rev2,
456 repo=r1_name,
448 other_repo=r1_name,
457 bundle=False
458 ))
449 ))
459
450
460 response.mustcontain('%s@%s -&gt; %s@%s' % (r2_name, rev1, r1_name, rev2))
451 response.mustcontain('%s@%s -&gt; %s@%s' % (r2_name, rev1, r1_name, rev2))
461 response.mustcontain("""file1-line1-from-fork""")
452
462 response.mustcontain("""file2-line1-from-fork""")
453 response.mustcontain("""commit2-parent""")
463 response.mustcontain("""file3-line1-from-fork""")
454 response.mustcontain("""1 file changed with 1 insertions and 0 deletions""")
464 self.assertFalse("""<a href="#">file2</a>""" in response.body) # new commit from parent
455 response.mustcontain("""line1-added-after-fork""")
465 self.assertFalse("""line1-from-new-parent""" in response.body)
466 finally:
467 RepoModel().delete(r2_id)
468 RepoModel().delete(r1_id)
469 Session()
General Comments 0
You need to be logged in to leave comments. Login now