예제 #1
0
 def test_create_new_release_branch(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     self.assertEqual(0, len(mgr.list()))
     new_branch = mgr.create('3.14-beta5')
     self.assertEqual(1, len(mgr.list()))
     self.assertEqual('release/3.14-beta5', mgr.list()[0].name)
     self.assertEqual(new_branch.commit,
             gitflow.repo.branches['develop'].commit)
예제 #2
0
 def test_create_new_release_branch(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     self.assertEqual(0, len(mgr.list()))
     new_branch = mgr.create('3.14-beta5')
     self.assertEqual(1, len(mgr.list()))
     self.assertEqual('release/3.14-beta5', mgr.list()[0].name)
     self.assertEqual(new_branch.commit,
                      gitflow.repo.branches['develop'].commit)
예제 #3
0
    def test_delete_release_without_commits(self):
        gitflow = GitFlow(self.repo)
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals(0, len(mgr.list()))
        mgr.create('1.0')
        gitflow.develop().checkout()
        self.assertEquals(1, len(mgr.list()))
        mgr.delete('1.0')
        self.assertEquals(0, len(mgr.list()))
        self.assertNotIn('rel/1.0', [b.name for b in mgr.list()])
예제 #4
0
    def test_delete_release_without_commits(self):
        gitflow = GitFlow(self.repo)
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals(0, len(mgr.list()))
        mgr.create('1.0')
        gitflow.develop().checkout()
        self.assertEquals(1, len(mgr.list()))
        mgr.delete('1.0')
        self.assertEquals(0, len(mgr.list()))
        self.assertNotIn('rel/1.0', [b.name for b in mgr.list()])
예제 #5
0
    def test_delete_release_with_commits_forcefully(self):
        gitflow = GitFlow(self.repo)
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals(0, len(mgr.list()))
        mgr.create('0.7')
        fake_commit(self.repo, 'A commit on the release branch.', append=False)
        gitflow.develop().checkout()
        self.assertEquals(1, len(mgr.list()))
        mgr.delete('0.7', force=True)
        self.assertEquals(0, len(mgr.list()))
        self.assertNotIn('rel/0.7', [b.name for b in self.repo.branches])
예제 #6
0
    def test_delete_release_with_commits_raises_error(self):
        gitflow = GitFlow(self.repo)
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals(0, len(mgr.list()))
        mgr.create('0.7')
        fake_commit(self.repo, 'A commit on the release branch.', append=False)
        gitflow.develop().checkout()
        self.assertEquals(1, len(mgr.list()))
        self.assertRaisesRegexp(GitCommandError,
                'The branch .* is not fully merged',
                mgr.delete, '0.7')
예제 #7
0
    def test_delete_release_with_commits_raises_error(self):
        gitflow = GitFlow(self.repo)
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals(0, len(mgr.list()))
        mgr.create('0.7')
        fake_commit(self.repo, 'A commit on the release branch.', append=False)
        gitflow.develop().checkout()
        self.assertEquals(1, len(mgr.list()))
        self.assertRaisesRegexp(GitCommandError,
                                'The branch .* is not fully merged',
                                mgr.delete, '0.7')
예제 #8
0
    def test_delete_release_with_commits_forcefully(self):
        gitflow = GitFlow(self.repo)
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals(0, len(mgr.list()))
        mgr.create('0.7')
        fake_commit(self.repo, 'A commit on the release branch.', append=False)
        gitflow.develop().checkout()
        self.assertEquals(1, len(mgr.list()))
        mgr.delete('0.7', force=True)
        self.assertEquals(0, len(mgr.list()))
        self.assertNotIn('rel/0.7', [b.name for b in self.repo.branches])
예제 #9
0
    def test_delete_already_merged_release(self):
        gitflow = GitFlow(self.repo)
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals(0, len(mgr.list()))
        mgr.create('0.7')
        fake_commit(self.repo, 'Dummy commit #1')
        fake_commit(self.repo, 'Dummy commit #2')
        mgr.merge('0.7', 'devel')

        self.assertEquals(1, len(mgr.list()))
        mgr.delete('0.7')
        self.assertEquals(0, len(mgr.list()))
        self.assertNotIn('rel/0.7', [b.name for b in mgr.list()])
예제 #10
0
    def test_delete_already_merged_release(self):
        gitflow = GitFlow(self.repo)
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals(0, len(mgr.list()))
        mgr.create('0.7')
        fake_commit(self.repo, 'Dummy commit #1')
        fake_commit(self.repo, 'Dummy commit #2')
        mgr.merge('0.7', 'devel')

        self.assertEquals(1, len(mgr.list()))
        mgr.delete('0.7')
        self.assertEquals(0, len(mgr.list()))
        self.assertNotIn('rel/0.7', [b.name for b in mgr.list()])
예제 #11
0
 def test_create_new_release_branch_non_default_prefix(self):
     gitflow = GitFlow(self.repo).init()
     mgr = ReleaseBranchManager(gitflow)
     new_branch = mgr.create('3.14-beta5')
     self.assertEqual(new_branch.name, 'rel/3.14-beta5')
     self.assertIn('rel/3.14-beta5', [b.name for b in mgr.list()])
     self.assertEqual(new_branch.commit,
                      gitflow.repo.branches['devel'].commit)
예제 #12
0
 def test_create_new_release_branch_non_default_prefix(self):
     gitflow = GitFlow(self.repo).init()
     mgr = ReleaseBranchManager(gitflow)
     new_branch = mgr.create('3.14-beta5')
     self.assertEqual(new_branch.name, 'rel/3.14-beta5')
     self.assertIn('rel/3.14-beta5', [b.name for b in mgr.list()])
     self.assertEqual(new_branch.commit,
             gitflow.repo.branches['devel'].commit)
예제 #13
0
 def test_list_without_matching_prefix(self):
     gitflow = GitFlow()
     mgr = ReleaseBranchManager(gitflow, 'rel-')
     expected = []
     self.assertItemsEqual(expected, [b.name for b in mgr.list()])
예제 #14
0
 def test_list(self):
     gitflow = GitFlow()
     mgr = ReleaseBranchManager(gitflow)
     expected = ['rel/1.0']
     self.assertItemsEqual(expected, [b.name for b in mgr.list()])
예제 #15
0
 def test_list(self):
     gitflow = GitFlow()
     mgr = ReleaseBranchManager(gitflow)
     expected = ['rel/1.0']
     self.assertItemsEqual(expected, [b.name for b in mgr.list()])
예제 #16
0
 def test_list_without_matching_prefix(self):
     gitflow = GitFlow()
     mgr = ReleaseBranchManager(gitflow, 'rel-')
     expected = []
     self.assertItemsEqual(expected, [b.name for b in mgr.list()])
예제 #17
0
 def test_empty_repo_has_no_releases(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     mgr = ReleaseBranchManager(gitflow)
     self.assertItemsEqual([], mgr.list())
예제 #18
0
 def test_empty_repo_has_no_releases(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     mgr = ReleaseBranchManager(gitflow)
     self.assertItemsEqual([], mgr.list())