def test_create_new_feature_branch(self): repo = create_git_repo(self) gitflow = GitFlow(repo).init() mgr = FeatureBranchManager(gitflow) self.assertEqual(0, len(mgr.list())) new_branch = mgr.create('foo') self.assertEqual(1, len(mgr.list())) self.assertEqual('feature/foo', mgr.list()[0].name) self.assertEqual(new_branch.commit, gitflow.repo.branches['develop'].commit)
def test_create_new_feature_branch(self): repo = create_git_repo(self) gitflow = GitFlow(repo).init() mgr = FeatureBranchManager(gitflow) self.assertEqual(0, len(mgr.list())) new_branch = mgr.create('foo') self.assertEqual(1, len(mgr.list())) self.assertEqual('feature/foo', mgr.list()[0].name) self.assertEqual(new_branch.commit, gitflow.repo.branches['develop'].commit)
def test_delete_feature_without_commits(self): gitflow = GitFlow(self.repo) mgr = FeatureBranchManager(gitflow) self.assertEquals(2, len(mgr.list())) mgr.create('foo') gitflow.develop().checkout() self.assertEquals(3, len(mgr.list())) mgr.delete('foo') self.assertEquals(2, len(mgr.list())) self.assertNotIn('feat/foo', [b.name for b in self.repo.branches])
def test_delete_feature_without_commits(self): gitflow = GitFlow(self.repo) mgr = FeatureBranchManager(gitflow) self.assertEquals(2, len(mgr.list())) mgr.create('foo') gitflow.develop().checkout() self.assertEquals(3, len(mgr.list())) mgr.delete('foo') self.assertEquals(2, len(mgr.list())) self.assertNotIn('feat/foo', [b.name for b in self.repo.branches])
def test_delete_feature_with_commits_forcefully(self): gitflow = GitFlow(self.repo) mgr = FeatureBranchManager(gitflow) self.assertEquals(2, len(mgr.list())) mgr.create('foo') fake_commit(self.repo, 'A commit on the feature branch.', append=False) gitflow.develop().checkout() self.assertEquals(3, len(mgr.list())) mgr.delete('foo', force=True) self.assertEquals(2, len(mgr.list())) self.assertNotIn('feat/foo', [b.name for b in self.repo.branches])
def test_delete_feature_with_commits_raises_error(self): gitflow = GitFlow(self.repo) mgr = FeatureBranchManager(gitflow) self.assertEquals(2, len(mgr.list())) mgr.create('foo') fake_commit(self.repo, 'A commit on the feature branch.', append=False) gitflow.develop().checkout() self.assertEquals(3, len(mgr.list())) self.assertRaisesRegexp(GitCommandError, 'The branch .* is not fully merged', mgr.delete, 'foo')
def test_delete_feature_with_commits_raises_error(self): gitflow = GitFlow(self.repo) mgr = FeatureBranchManager(gitflow) self.assertEquals(2, len(mgr.list())) mgr.create('foo') fake_commit(self.repo, 'A commit on the feature branch.', append=False) gitflow.develop().checkout() self.assertEquals(3, len(mgr.list())) self.assertRaisesRegexp(GitCommandError, 'The branch .* is not fully merged', mgr.delete, 'foo')
def test_delete_feature_with_commits_forcefully(self): gitflow = GitFlow(self.repo) mgr = FeatureBranchManager(gitflow) self.assertEquals(2, len(mgr.list())) mgr.create('foo') fake_commit(self.repo, 'A commit on the feature branch.', append=False) gitflow.develop().checkout() self.assertEquals(3, len(mgr.list())) mgr.delete('foo', force=True) self.assertEquals(2, len(mgr.list())) self.assertNotIn('feat/foo', [b.name for b in self.repo.branches])
def test_delete_already_merged_feature(self): gitflow = GitFlow(self.repo) mgr = FeatureBranchManager(gitflow) self.assertEquals(2, len(mgr.list())) mgr.create('foo') fake_commit(self.repo, 'Dummy commit #1') fake_commit(self.repo, 'Dummy commit #2') mgr.merge('foo', 'devel') self.assertEquals(3, len(mgr.list())) mgr.delete('foo') self.assertEquals(2, len(mgr.list())) self.assertNotIn('feat/foo', [b.name for b in mgr.list()])
def test_delete_already_merged_feature(self): gitflow = GitFlow(self.repo) mgr = FeatureBranchManager(gitflow) self.assertEquals(2, len(mgr.list())) mgr.create('foo') fake_commit(self.repo, 'Dummy commit #1') fake_commit(self.repo, 'Dummy commit #2') mgr.merge('foo', 'devel') self.assertEquals(3, len(mgr.list())) mgr.delete('foo') self.assertEquals(2, len(mgr.list())) self.assertNotIn('feat/foo', [b.name for b in mgr.list()])
def test_create_new_feature_branch_non_default_prefix(self): gitflow = GitFlow(self.repo).init() mgr = FeatureBranchManager(gitflow) new_branch = mgr.create('foo') self.assertEqual(new_branch.name, 'feat/foo') self.assertIn('feat/foo', [b.name for b in mgr.list()]) self.assertEqual(new_branch.commit, gitflow.repo.branches['devel'].commit)
def test_create_new_feature_branch_non_default_prefix(self): gitflow = GitFlow(self.repo).init() mgr = FeatureBranchManager(gitflow) new_branch = mgr.create('foo') self.assertEqual(new_branch.name, 'feat/foo') self.assertIn('feat/foo', [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 = FeatureBranchManager(gitflow, 'fb-') expected = [] self.assertItemsEqual(expected, [b.name for b in mgr.list()])
def test_list(self): gitflow = GitFlow() mgr = FeatureBranchManager(gitflow) expected = ['feat/even', 'feat/recursion'] self.assertItemsEqual(expected, [b.name for b in mgr.list()])
def test_list(self): gitflow = GitFlow() mgr = FeatureBranchManager(gitflow) expected = ['feat/even', 'feat/recursion'] self.assertItemsEqual(expected, [b.name for b in mgr.list()])
def test_list_without_matching_prefix(self): gitflow = GitFlow() mgr = FeatureBranchManager(gitflow, 'fb-') expected = [] self.assertItemsEqual(expected, [b.name for b in mgr.list()])
def test_empty_repo_has_no_features(self): repo = create_git_repo(self) gitflow = GitFlow(repo) mgr = FeatureBranchManager(gitflow) self.assertItemsEqual([], mgr.list())
def test_empty_repo_has_no_features(self): repo = create_git_repo(self) gitflow = GitFlow(repo) mgr = FeatureBranchManager(gitflow) self.assertItemsEqual([], mgr.list())