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)
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)
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()])
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()])
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])
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')
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')
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])
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()])
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()])
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)
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)
def test_list_without_matching_prefix(self): gitflow = GitFlow() mgr = ReleaseBranchManager(gitflow, 'rel-') expected = [] self.assertItemsEqual(expected, [b.name for b in mgr.list()])
def test_list(self): gitflow = GitFlow() mgr = ReleaseBranchManager(gitflow) expected = ['rel/1.0'] self.assertItemsEqual(expected, [b.name for b in mgr.list()])
def test_list(self): gitflow = GitFlow() mgr = ReleaseBranchManager(gitflow) expected = ['rel/1.0'] self.assertItemsEqual(expected, [b.name for b in mgr.list()])
def test_list_without_matching_prefix(self): gitflow = GitFlow() mgr = ReleaseBranchManager(gitflow, 'rel-') expected = [] self.assertItemsEqual(expected, [b.name for b in mgr.list()])
def test_empty_repo_has_no_releases(self): repo = create_git_repo(self) gitflow = GitFlow(repo) mgr = ReleaseBranchManager(gitflow) self.assertItemsEqual([], mgr.list())
def test_empty_repo_has_no_releases(self): repo = create_git_repo(self) gitflow = GitFlow(repo) mgr = ReleaseBranchManager(gitflow) self.assertItemsEqual([], mgr.list())