|
9 | 9 | with_rw_repo,
|
10 | 10 | with_rw_and_rw_remote_repo,
|
11 | 11 | fixture,
|
12 |
| -GIT_DAEMON_PORT |
| 12 | +GIT_DAEMON_PORT, |
| 13 | +assert_raises |
13 | 14 | )
|
14 | 15 | fromgitimport (
|
15 | 16 | RemoteProgress,
|
@@ -62,7 +63,7 @@ def update(self, op_code, cur_count, max_count=None, message=''):
|
62 | 63 | # check each stage only comes once
|
63 | 64 | op_id=op_code&self.OP_MASK
|
64 | 65 | assertop_idin (self.COUNTING,self.COMPRESSING,self.WRITING)
|
65 |
| -
|
| 66 | + |
66 | 67 | ifop_code&self.WRITING>0:
|
67 | 68 | ifop_code&self.BEGIN>0:
|
68 | 69 | assertnotmessage,'should not have message when remote begins writing'
|
@@ -568,3 +569,47 @@ def test_uncommon_branch_names(self):
|
568 | 569 | assertres[0].remote_ref_path=='refs/pull/1/head'
|
569 | 570 | assertres[0].ref.path=='refs/heads/pull/1/head'
|
570 | 571 | assertisinstance(res[0].ref,Head)
|
| 572 | + |
| 573 | +@with_rw_repo('HEAD',bare=False) |
| 574 | +deftest_multiple_urls(self,rw_repo): |
| 575 | +# test addresses |
| 576 | +test1='https://github.com/gitpython-developers/GitPython' |
| 577 | +test2='https://github.com/gitpython-developers/gitdb' |
| 578 | +test3='https://github.com/gitpython-developers/smmap' |
| 579 | + |
| 580 | +remote=rw_repo.remotes[0] |
| 581 | +# Testing setting a single URL |
| 582 | +remote.set_url(test1) |
| 583 | +assertlist(remote.urls)== [test1] |
| 584 | + |
| 585 | +# Testing replacing that single URL |
| 586 | +remote.set_url(test1) |
| 587 | +assertlist(remote.urls)== [test1] |
| 588 | +# Testing adding new URLs |
| 589 | +remote.set_url(test2,add=True) |
| 590 | +assertlist(remote.urls)== [test1,test2] |
| 591 | +remote.set_url(test3,add=True) |
| 592 | +assertlist(remote.urls)== [test1,test2,test3] |
| 593 | +# Testing removing an URL |
| 594 | +remote.set_url(test2,delete=True) |
| 595 | +assertlist(remote.urls)== [test1,test3] |
| 596 | +# Testing changing an URL |
| 597 | +remote.set_url(test3,test2) |
| 598 | +assertlist(remote.urls)== [test1,test2] |
| 599 | + |
| 600 | +# will raise: fatal: --add --delete doesn't make sense |
| 601 | +assert_raises(GitCommandError,remote.set_url,test2,add=True,delete=True) |
| 602 | + |
| 603 | +# Testing on another remote, with the add/delete URL |
| 604 | +remote=rw_repo.create_remote('another',url=test1) |
| 605 | +remote.add_url(test2) |
| 606 | +assertlist(remote.urls)== [test1,test2] |
| 607 | +remote.add_url(test3) |
| 608 | +assertlist(remote.urls)== [test1,test2,test3] |
| 609 | +# Testing removing all the URLs |
| 610 | +remote.delete_url(test2) |
| 611 | +assertlist(remote.urls)== [test1,test3] |
| 612 | +remote.delete_url(test1) |
| 613 | +assertlist(remote.urls)== [test3] |
| 614 | +# will raise fatal: Will not delete all non-push URLs |
| 615 | +assert_raises(GitCommandError,remote.delete_url,test3) |