/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to tests/test_branch.py

Merge new dulwich.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Tests for interfacing with a Git Branch"""
18
18
 
19
 
import subprocess
20
 
 
21
 
from bzrlib import branch, revision
22
 
 
23
 
from bzrlib.plugins.git import tests
 
19
from bzrlib import revision
 
20
from bzrlib.branch import Branch
 
21
 
24
22
from bzrlib.plugins.git import (
25
 
    git_branch,
26
 
    ids,
 
23
    branch,
 
24
    tests,
27
25
    )
 
26
from bzrlib.plugins.git.mapping import default_mapping
 
27
from bzrlib.plugins.git import git
 
28
 
28
29
 
29
30
 
30
31
class TestGitBranch(tests.TestCaseInTempDir):
34
35
    def test_open_existing(self):
35
36
        tests.run_git('init')
36
37
 
37
 
        thebranch = branch.Branch.open('.')
38
 
        self.assertIsInstance(thebranch, git_branch.GitBranch)
 
38
        thebranch = Branch.open('.')
 
39
        self.assertIsInstance(thebranch, branch.GitBranch)
39
40
 
40
41
    def test_last_revision_is_null(self):
41
42
        tests.run_git('init')
42
43
 
43
 
        thebranch = branch.Branch.open('.')
 
44
        thebranch = Branch.open('.')
44
45
        self.assertEqual(revision.NULL_REVISION, thebranch.last_revision())
45
46
        self.assertEqual((0, revision.NULL_REVISION),
46
47
                         thebranch.last_revision_info())
47
48
 
48
 
    def test_last_revision_is_valid(self):
 
49
    def simple_commit_a(self):
49
50
        tests.run_git('init')
50
51
        self.build_tree(['a'])
51
52
        tests.run_git('add', 'a')
52
53
        tests.run_git('commit', '-m', 'a')
 
54
 
 
55
    def test_last_revision_is_valid(self):
 
56
        self.simple_commit_a()
53
57
        head = tests.run_git('rev-parse', 'HEAD').strip()
54
58
 
55
 
        thebranch = branch.Branch.open('.')
56
 
        self.assertEqual(ids.convert_revision_id_git_to_bzr(head),
 
59
        thebranch = Branch.open('.')
 
60
        self.assertEqual(default_mapping.revision_id_foreign_to_bzr(head),
57
61
                         thebranch.last_revision())
 
62
 
 
63
    def test_revision_history(self):
 
64
        self.simple_commit_a()
 
65
        reva = tests.run_git('rev-parse', 'HEAD').strip()
 
66
        self.build_tree(['b'])
 
67
        tests.run_git('add', 'b')
 
68
        tests.run_git('commit', '-m', 'b')
 
69
        revb = tests.run_git('rev-parse', 'HEAD').strip()
 
70
 
 
71
        thebranch = Branch.open('.')
 
72
        self.assertEqual([default_mapping.revision_id_foreign_to_bzr(r) for r in (reva, revb)],
 
73
                         thebranch.revision_history())
 
74
 
 
75
    def test_tags(self):
 
76
        self.simple_commit_a()
 
77
        reva = tests.run_git('rev-parse', 'HEAD').strip()
 
78
        
 
79
        tests.run_git('tag', '-a', '-m', 'add tag', 'foo')
 
80
        
 
81
        newid = open('.git/refs/tags/foo').read().rstrip()
 
82
 
 
83
        thebranch = Branch.open('.')
 
84
        self.assertEquals({"foo": default_mapping.revision_id_foreign_to_bzr(newid)},
 
85
                          thebranch.tags.get_tag_dict())
 
86
        
 
87
 
 
88
class TestWithGitBranch(tests.TestCaseWithTransport):
 
89
 
 
90
    def setUp(self):
 
91
        tests.TestCaseWithTransport.setUp(self)
 
92
        git.repo.Repo.create(self.test_dir)
 
93
        self.git_branch = Branch.open(self.test_dir)
 
94
 
 
95
    def test_get_parent(self):
 
96
        self.assertIs(None, self.git_branch.get_parent())
 
97
 
 
98
    def test_get_stacked_on_url(self):
 
99
        self.assertIs(None, self.git_branch.get_stacked_on_url())
 
100
 
 
101
    def test_get_physical_lock_status(self):
 
102
        self.assertFalse(self.git_branch.get_physical_lock_status())
 
103
 
 
104
 
 
105
class TestGitBranchFormat(tests.TestCase):
 
106
 
 
107
    def setUp(self):
 
108
        super(TestGitBranchFormat, self).setUp()
 
109
        self.format = branch.GitBranchFormat()
 
110
 
 
111
    def test_get_format_description(self):
 
112
        self.assertEquals("Git Branch", self.format.get_format_description())