コード例 #1
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_empty_branch_type_list_raises_usage(self):
     create_git_repo(self)
     gitflow = GitFlow().init()
     self.assertRaises(Usage, gitflow.list, 'feature', 'name', False, False)
     self.assertRaises(Usage, gitflow.list, 'release', 'version', False, False)
     self.assertRaises(Usage, gitflow.list, 'hotfix', 'version', False, False)
     self.assertRaises(Usage, gitflow.list, 'support', 'version', False, False)
コード例 #2
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
    def test_detect_custom_branch_types(self):
        create_git_repo(self)
        # Declare a custom branch type inline
        class FooBarManager(BranchManager):
            identifier = 'foobar'
            DEFAULT_PREFIX = 'xyz/'

        gitflow = GitFlow()
        self.assertIn('foobar', gitflow.managers)
コード例 #3
0
    def test_detect_branch_types(self):
        create_git_repo(self)
        gitflow = GitFlow()

        # The types that "ship" with git-flow
        self.assertIn('feature', gitflow.managers)
        self.assertIn('release', gitflow.managers)
        self.assertIn('hotfix', gitflow.managers)
        self.assertIn('support', gitflow.managers)
コード例 #4
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
    def test_detect_branch_types(self):
        create_git_repo(self)
        gitflow = GitFlow()

        # The types that "ship" with git-flow
        self.assertIn('feature', gitflow.managers)
        self.assertIn('release', gitflow.managers)
        self.assertIn('hotfix', gitflow.managers)
        self.assertIn('support', gitflow.managers)
コード例 #5
0
    def test_detect_custom_branch_types(self):
        create_git_repo(self)

        # Declare a custom branch type inline
        class FooBarManager(BranchManager):
            identifier = 'foobar'
            DEFAULT_PREFIX = 'xyz/'

        gitflow = GitFlow()
        self.assertIn('foobar', gitflow.managers)
コード例 #6
0
 def test_empty_branch_type_list_raises_usage(self):
     create_git_repo(self)
     gitflow = GitFlow().init()
     self.assertRaises(Usage, gitflow.list, 'feature', 'name', False, False)
     self.assertRaises(Usage, gitflow.list, 'release', 'version', False,
                       False)
     self.assertRaises(Usage, gitflow.list, 'hotfix', 'version', False,
                       False)
     self.assertRaises(Usage, gitflow.list, 'support', 'version', False,
                       False)
コード例 #7
0
    def test_create(self):
        create_git_repo(self)
        gitflow = GitFlow()

        self.assertEquals([], self.repo.branches)

        gitflow.init()

        self.assertEquals(['develop', 'master'],
                          [b.name for b in self.repo.branches])

        fb = gitflow.create('feature', 'foo')
コード例 #8
0
ファイル: test_creation.py プロジェクト: OBdA/gitflow
    def test_create(self):
        create_git_repo(self)
        gitflow = GitFlow()

        self.assertEquals([], self.repo.branches)

        gitflow.init()

        self.assertEquals(['develop', 'master'],
                [b.name for b in self.repo.branches])

        fb = gitflow.create('feature', 'foo')
コード例 #9
0
ファイル: test_bin.py プロジェクト: sananthula/gitflow
 def test_feature_list_verbose_no_commits(self):
     repo = create_git_repo(self)
     GitFlow(repo).init()
     repo.create_head('feature/wow', 'HEAD')
     stdout = run_git_flow('feature', 'list', '--verbose', capture=1)
     expected = ['  wow (no commits yet)']
     self.assertEqual(stdout.splitlines(), expected)
コード例 #10
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_gitflow_init_creates_initial_commit(self):
     repo = create_git_repo(self)
     all_commits_before_init = all_commits(repo)
     gitflow = GitFlow(repo).init()
     all_commits_after_init = all_commits(repo)
     self.assertNotEquals(all_commits_before_init, all_commits_after_init)
     self.assertEquals('Initial commit', repo.heads.master.commit.message)
コード例 #11
0
 def test_release_branch_origin(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     new_branch = mgr.create('1.1')
     self.assertEqual(new_branch.commit,
                      gitflow.repo.branches['develop'].commit)
コード例 #12
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 def test_release_branch_origin(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     new_branch = mgr.create('1.1')
     self.assertEqual(new_branch.commit,
             gitflow.repo.branches['develop'].commit)
コード例 #13
0
 def test_gitflow_init_creates_initial_commit(self):
     repo = create_git_repo(self)
     all_commits_before_init = all_commits(repo)
     gitflow = GitFlow(repo).init()
     all_commits_after_init = all_commits(repo)
     self.assertNotEquals(all_commits_before_init, all_commits_after_init)
     self.assertEquals('Initial commit', repo.heads.master.commit.message)
コード例 #14
0
 def test_create_branches(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     gitflow.create('feature', 'foo', None, fetch=False)
     self.assertIn('feature/foo', [h.name for h in gitflow.repo.branches])
     gitflow.create('release', '1.0', None, fetch=False)
     self.assertIn('release/1.0', [h.name for h in gitflow.repo.branches])
コード例 #15
0
ファイル: test_branches.py プロジェクト: chassing/gitflow
 def test_finish_release_rebase(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     mgr.create('1.0')
     self.assertRaises(
         Exception,
         mgr.finish, '1.0', rebase=True)
コード例 #16
0
    def test_create_release_changes_active_branch(self):
        repo = create_git_repo(self)
        gitflow = GitFlow(repo).init()
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals('develop', repo.active_branch.name)
        mgr.create('1.0')
        self.assertEquals('release/1.0', repo.active_branch.name)
コード例 #17
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
    def test_create_release_changes_active_branch(self):
        repo = create_git_repo(self)
        gitflow = GitFlow(repo).init()
        mgr = ReleaseBranchManager(gitflow)

        self.assertEquals('develop', repo.active_branch.name)
        mgr.create('1.0')
        self.assertEquals('release/1.0', repo.active_branch.name)
コード例 #18
0
ファイル: test_branches.py プロジェクト: tvoyle/gitflow
 def test_finish_release_rebase(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     mgr.create('1.0')
     self.assertRaisesRegexp(
         AssertionError, "does not make any sense",
         mgr.finish, '1.0', rebase=True)
コード例 #19
0
 def _test_create_branches_from_alt_base(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     gitflow.create('feature', 'foo', 'master', fetch=False)
     self.assertIn('feature/foo', [h.name for h in gitflow.repo.branches])
     gitflow.repo.index.commit('Foo')
     gitflow.create('release', '1.0', 'feature/foo', fetch=False)
     self.assertIn('release/1.0', [h.name for h in gitflow.repo.branches])
コード例 #20
0
ファイル: test_bin.py プロジェクト: opicacek/gitflow
 def test_feature_list_verbose_no_commits(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     repo.create_head('feature/wow', 'HEAD')
     stdout = runGitFlow('feature', 'list', '--verbose', capture=1)
     expected = [
       '  wow (no commits yet)'
       ]
     self.assertEqual(stdout.splitlines(), expected)
コード例 #21
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_create_branches(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     gitflow.create('feature', 'foo', None, fetch=False)
     self.assertIn('feature/foo',
             [h.name for h in gitflow.repo.branches])
     gitflow.create('release', '1.0', None, fetch=False)
     self.assertIn('release/1.0',
             [h.name for h in gitflow.repo.branches])
コード例 #22
0
 def test_create_new_support_branch(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = SupportBranchManager(gitflow)
     self.assertEqual(0, len(mgr.list()))
     new_branch = mgr.create('1.x')
     self.assertEqual(1, len(mgr.list()))
     self.assertEqual('support/1.x', mgr.list()[0].name)
     self.assertEqual(new_branch.commit,
                      gitflow.repo.branches['master'].commit)
コード例 #23
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)
コード例 #24
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 def test_create_new_support_branch(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = SupportBranchManager(gitflow)
     self.assertEqual(0, len(mgr.list()))
     new_branch = mgr.create('1.x')
     self.assertEqual(1, len(mgr.list()))
     self.assertEqual('support/1.x', mgr.list()[0].name)
     self.assertEqual(new_branch.commit,
             gitflow.repo.branches['master'].commit)
コード例 #25
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 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)
コード例 #26
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 def test_create_new_hotfix_branch(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = HotfixBranchManager(gitflow)
     self.assertEqual(0, len(mgr.list()))
     new_branch = mgr.create('1.2.3')
     self.assertEqual(1, len(mgr.list()))
     self.assertEqual('hotfix/1.2.3', mgr.list()[0].name)
     self.assertEqual(new_branch.commit,
             gitflow.repo.branches['master'].commit)
コード例 #27
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 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)
コード例 #28
0
 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)
コード例 #29
0
 def test_create_new_hotfix_branch(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = HotfixBranchManager(gitflow)
     self.assertEqual(0, len(mgr.list()))
     new_branch = mgr.create('1.2.3')
     self.assertEqual(1, len(mgr.list()))
     self.assertEqual('hotfix/1.2.3', mgr.list()[0].name)
     self.assertEqual(new_branch.commit,
                      gitflow.repo.branches['master'].commit)
コード例 #30
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def _test_create_branches_from_alt_base(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     gitflow.create('feature', 'foo', 'master', fetch=False)
     self.assertIn('feature/foo',
             [h.name for h in gitflow.repo.branches])
     gitflow.repo.index.commit('Foo')
     gitflow.create('release', '1.0', 'feature/foo', fetch=False)
     self.assertIn('release/1.0',
             [h.name for h in gitflow.repo.branches])
コード例 #31
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_gitflow_init_initializes_default_config(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     self.assertEquals('master', gitflow.master_name())
     self.assertEquals('develop', gitflow.develop_name())
     self.assertEquals('origin', gitflow.origin_name())
     self.assertEquals('feature/', gitflow.get_prefix('feature'))
     self.assertEquals('hotfix/', gitflow.get_prefix('hotfix'))
     self.assertEquals('release/', gitflow.get_prefix('release'))
     self.assertEquals('support/', gitflow.get_prefix('support'))
     self.assertEquals('', gitflow.get_prefix('versiontag'))
コード例 #32
0
 def test_gitflow_init_initializes_default_config(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     self.assertEquals('master', gitflow.master_name())
     self.assertEquals('develop', gitflow.develop_name())
     self.assertEquals('origin', gitflow.origin_name())
     self.assertEquals('feature/', gitflow.get_prefix('feature'))
     self.assertEquals('hotfix/', gitflow.get_prefix('hotfix'))
     self.assertEquals('release/', gitflow.get_prefix('release'))
     self.assertEquals('support/', gitflow.get_prefix('support'))
     self.assertEquals('', gitflow.get_prefix('versiontag'))
コード例 #33
0
    def test_merge_feature_without_commits(self):
        repo = create_git_repo(self)
        gitflow = GitFlow(repo).init()
        mgr = FeatureBranchManager(gitflow)

        dc0 = gitflow.develop().commit
        mgr.create('newstuff')
        mgr.merge('newstuff', 'develop')
        dc1 = gitflow.develop().commit

        # Assert the develop tip is unchanged by the merge
        self.assertEqual(dc0, dc1)
        # Assert the target-branch is active
        self.assertEqual(gitflow.repo.active_branch.name, 'develop')
コード例 #34
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
    def test_merge_feature_without_commits(self):
        repo = create_git_repo(self)
        gitflow = GitFlow(repo).init()
        mgr = FeatureBranchManager(gitflow)

        dc0 = gitflow.develop().commit
        mgr.create('newstuff')
        mgr.merge('newstuff', 'develop')
        dc1 = gitflow.develop().commit

        # Assert the develop tip is unchanged by the merge
        self.assertEqual(dc0, dc1)
        # Assert the target-branch is active
        self.assertEqual(gitflow.repo.active_branch.name, 'develop')
コード例 #35
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_gitflow_init_with_alternative_config(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     prefixes = dict(feature='f-',
                     hotfix='hf-',
                     release='rel-',
                     support='supp-',
                     versiontag='ver')
     names = dict(origin='somewhereelse')
     gitflow.init(master='foo', develop='bar', prefixes=prefixes, names=names)
     self.assertEquals('foo', gitflow.master_name())
     self.assertEquals('bar', gitflow.develop_name())
     self.assertEquals('somewhereelse', gitflow.origin_name())
     self.assertEquals('f-', gitflow.get_prefix('feature'))
     self.assertEquals('rel-', gitflow.get_prefix('release'))
     self.assertEquals('hf-', gitflow.get_prefix('hotfix'))
     self.assertEquals('supp-', gitflow.get_prefix('support'))
     self.assertEquals('ver', gitflow.get_prefix('versiontag'))
コード例 #36
0
 def test_gitflow_init_with_alternative_config(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     prefixes = dict(feature='f-',
                     hotfix='hf-',
                     release='rel-',
                     support='supp-',
                     versiontag='ver')
     names = dict(origin='somewhereelse')
     gitflow.init(master='foo',
                  develop='bar',
                  prefixes=prefixes,
                  names=names)
     self.assertEquals('foo', gitflow.master_name())
     self.assertEquals('bar', gitflow.develop_name())
     self.assertEquals('somewhereelse', gitflow.origin_name())
     self.assertEquals('f-', gitflow.get_prefix('feature'))
     self.assertEquals('rel-', gitflow.get_prefix('release'))
     self.assertEquals('hf-', gitflow.get_prefix('hotfix'))
     self.assertEquals('supp-', gitflow.get_prefix('support'))
     self.assertEquals('ver', gitflow.get_prefix('versiontag'))
コード例 #37
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_gitflow_init_checkout_develop_if_newly_created(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     self.assertEqual(gitflow.repo.active_branch.name, 'develop')
コード例 #38
0
 def test_origin_without_remote_raises_error(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     self.assertRaises(NoSuchRemoteError, gitflow.origin)
コード例 #39
0
 def test_gitflow_init_marks_initialized(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     self.assertFalse(gitflow.is_initialized())
     gitflow.init()
     self.assertTrue(gitflow.is_initialized())
コード例 #40
0
 def test_gitflow_throws_errors_before_init(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     self.assertRaises(NotInitialized, gitflow.master_name)
     self.assertRaises(NotInitialized, gitflow.develop_name)
     self.assertRaises(NotInitialized, gitflow.get_prefix, 'feature')
コード例 #41
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_gitflow_status_on_fresh_repo(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     self.assertEquals([], gitflow.status())
コード例 #42
0
 def test_gitflow_status_on_fresh_repo(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     self.assertEquals([], gitflow.status())
コード例 #43
0
 def test_create_release_branch_fetch_without_remote_raises_error(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     self.assertRaises(NoSuchRemoteError, mgr.create, 'foo', fetch=True)
コード例 #44
0
 def test_full_name(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     fb = DummyBranchManager(gitflow)
     self.assertEquals('xyz/foo', fb.full_name('foo'))
     self.assertEquals('xyz/feature/foo', fb.full_name('feature/foo'))
コード例 #45
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_gitflow_throws_errors_before_init(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     self.assertRaises(NotInitialized, gitflow.master_name)
     self.assertRaises(NotInitialized, gitflow.develop_name)
     self.assertRaises(NotInitialized, gitflow.get_prefix, 'feature')
コード例 #46
0
 def test_gitflow_init_creates_branches(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     self.assertItemsEqual(['master', 'develop'], gitflow.branch_names())
コード例 #47
0
 def test_gitflow_init_checkout_develop_if_newly_created(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     self.assertEqual(gitflow.repo.active_branch.name, 'develop')
コード例 #48
0
 def test_empty_repo_has_no_releases(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     mgr = ReleaseBranchManager(gitflow)
     self.assertItemsEqual([], mgr.list())
コード例 #49
0
 def test_default_prefix(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     fb = DummyBranchManager(gitflow)
     self.assertEquals('xyz/', fb.prefix)
コード例 #50
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 def test_create_release_branch_fetch_without_remote_raises_error(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     self.assertRaises(NoSuchRemoteError, mgr.create, 'foo', fetch=True)
コード例 #51
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_origin_without_remote_raises_error(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     self.assertRaises(NoSuchRemoteError, gitflow.origin)
コード例 #52
0
 def test_empty_repo_has_no_branches(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     self.assertItemsEqual([], gitflow.branch_names())
コード例 #53
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_gitflow_init_creates_branches(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     self.assertItemsEqual(['master', 'develop'],
             gitflow.branch_names())
コード例 #54
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 def test_create_existing_release_branch_raises_error(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     mgr.create('1.0')
     self.assertRaises(BranchTypeExistsError, mgr.create, '1.0')
コード例 #55
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 def test_empty_repo_has_no_releases(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     mgr = ReleaseBranchManager(gitflow)
     self.assertItemsEqual([], mgr.list())
コード例 #56
0
ファイル: test_branches.py プロジェクト: opicacek/gitflow
 def test_full_name(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     fb = DummyBranchManager(gitflow)
     self.assertEquals('xyz/foo', fb.full_name('foo'))
     self.assertEquals('xyz/feature/foo', fb.full_name('feature/foo'))
コード例 #57
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_gitflow_init_marks_initialized(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     self.assertFalse(gitflow.is_initialized())
     gitflow.init()
     self.assertTrue(gitflow.is_initialized())
コード例 #58
0
 def test_create_existing_release_branch_raises_error(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo).init()
     mgr = ReleaseBranchManager(gitflow)
     mgr.create('1.0')
     self.assertRaises(BranchTypeExistsError, mgr.create, '1.0')
コード例 #59
0
ファイル: test_core.py プロジェクト: OBdA/gitflow
 def test_empty_repo_has_no_branches(self):
     repo = create_git_repo(self)
     gitflow = GitFlow(repo)
     self.assertItemsEqual([], gitflow.branch_names())