17
17
"""Test the GitDir class"""
19
from bzrlib import bzrdir, errors
21
from bzrlib.plugins.git import dir, tests, workingtree
19
from dulwich.repo import Repo as GitRepo
25
from bzrlib.tests import TestSkipped
27
from bzrlib.plugins.git import (
24
34
class TestGitDir(tests.TestCaseInTempDir):
26
_test_needs_features = [tests.GitCommandFeature]
28
36
def test_open_existing(self):
31
39
gd = bzrdir.BzrDir.open('.')
32
40
self.assertIsInstance(gd, dir.LocalGitDir)
34
42
def test_open_workingtree(self):
37
45
gd = bzrdir.BzrDir.open('.')
38
47
wt = gd.open_workingtree()
39
48
self.assertIsInstance(wt, workingtree.GitWorkingTree)
41
50
def test_open_workingtree_bare(self):
42
tests.run_git('--bare', 'init')
51
GitRepo.init_bare(".")
44
53
gd = bzrdir.BzrDir.open('.')
45
54
self.assertRaises(errors.NoWorkingTree, gd.open_workingtree)
48
class TestGitDirFormat(tests.TestCaseInTempDir):
50
_test_needs_features = [tests.GitCommandFeature]
57
class TestGitDirFormat(tests.TestCase):
53
60
super(TestGitDirFormat, self).setUp()
54
self.format = dir.LocalGitBzrDirFormat()
61
self.format = dir.LocalGitControlDirFormat()
56
63
def test_get_format_description(self):
57
64
self.assertEquals("Local Git Repository",
58
65
self.format.get_format_description())
68
format2 = dir.LocalGitControlDirFormat()
69
self.assertEquals(self.format, format2)
70
self.assertEquals(self.format, self.format)
71
bzr_format = bzrdir.format_registry.make_bzrdir("default")
72
self.assertNotEquals(self.format, bzr_format)