/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_repository.py

merge versionedfiles support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Tests for interfacing with a Git Repository"""
18
18
 
19
 
import dulwich as git
20
 
import os
 
19
import git
21
20
 
22
21
from bzrlib import (
23
22
    errors,
24
23
    inventory,
25
24
    revision,
26
25
    )
27
 
from bzrlib.repository import (
28
 
    Repository,
29
 
    )
 
26
from bzrlib.repository import Repository
30
27
 
31
28
from bzrlib.plugins.git import (
32
29
    dir,
33
30
    repository,
34
31
    tests,
35
32
    )
36
 
from bzrlib.plugins.git.mapping import (
37
 
    default_mapping,
38
 
    )
 
33
from bzrlib.plugins.git.mapping import default_mapping
 
34
 
39
35
 
40
36
class TestGitRepositoryFeatures(tests.TestCaseInTempDir):
41
37
    """Feature tests for GitRepository."""
66
62
        commit_id = mapping[commit_handle]
67
63
 
68
64
        # Get the corresponding Revision object.
69
 
        revid = default_mapping.revision_id_foreign_to_bzr(commit_id)
 
65
        revid = default_mapping.convert_revision_id_git_to_bzr(commit_id)
70
66
        repo = Repository.open('.')
71
67
        rev = repo.get_revision(revid)
72
68
        self.assertIsInstance(rev, revision.Revision)
73
69
 
74
 
    def test_get_revision_unknown(self):
75
 
        tests.run_git('init')
76
 
 
77
 
        repo = Repository.open('.')
78
 
        self.assertRaises(errors.NoSuchRevision, repo.get_revision, "bla")
79
 
 
80
70
    def simple_commit(self):
81
71
        # Create a git repository with some interesting files in a revision.
82
72
        tests.run_git('init')
92
82
 
93
83
    def test_revision_tree(self):
94
84
        commit_id = self.simple_commit()
95
 
        revid = default_mapping.revision_id_foreign_to_bzr(commit_id)
 
85
        revid = default_mapping.convert_revision_id_git_to_bzr(commit_id)
96
86
        repo = Repository.open('.')
97
87
        tree = repo.revision_tree(revid)
98
88
        self.assertEquals(tree.get_revision_id(), revid)
105
95
        commit_id = self.simple_commit()
106
96
 
107
97
        # Get the corresponding Inventory object.
108
 
        revid = default_mapping.revision_id_foreign_to_bzr(commit_id)
 
98
        revid = default_mapping.convert_revision_id_git_to_bzr(commit_id)
109
99
        repo = Repository.open('.')
110
100
        inv = repo.get_inventory(revid)
111
101
        self.assertIsInstance(inv, inventory.Inventory)
115
105
        self.assertEqualDiff(
116
106
            printed_inv,
117
107
            "('', False, InventoryDirectory('TREE_ROOT', u'', parent_id=None,"
118
 
            " revision='"+default_mapping.revision_id_foreign_to_bzr("69c39cfa65962f3cf16b9b3eb08a15954e9d8590")+"'))\n"
 
108
            " revision='git-experimental:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
119
109
            "(u'data', False, InventoryFile('data', u'data',"
120
110
            " parent_id='TREE_ROOT',"
121
111
            " sha1='aa785adca3fcdfe1884ae840e13c6d294a2414e8', len=5))\n"
123
113
            " parent_id='TREE_ROOT',"
124
114
            " sha1='040f06fd774092478d450774f5ba30c5da78acc8', len=7))\n"
125
115
            "(u'link', False, InventoryLink('link', u'link',"
126
 
            " parent_id='TREE_ROOT', revision='"+default_mapping.revision_id_foreign_to_bzr("69c39cfa65962f3cf16b9b3eb08a15954e9d8590")+"'))\n"
 
116
            " parent_id='TREE_ROOT', revision='git-experimental:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
127
117
            "(u'subdir', False, InventoryDirectory('subdir', u'subdir',"
128
 
            " parent_id='TREE_ROOT', revision='"+default_mapping.revision_id_foreign_to_bzr("69c39cfa65962f3cf16b9b3eb08a15954e9d8590")+"'))\n"
 
118
            " parent_id='TREE_ROOT', revision='git-experimental:69c39cfa65962f3cf16b9b3eb08a15954e9d8590'))\n"
129
119
            "(u'subdir/subfile', False, InventoryFile('subdir/subfile',"
130
120
            " u'subfile', parent_id='subdir',"
131
121
            " sha1='67b75c3e49f31fcadddbf9df6a1d8be8c3e44290', len=12))")
139
129
        self.git_repo = Repository.open(self.test_dir)
140
130
 
141
131
    def test_supports_rich_root(self):
 
132
        # GitRepository.supports_rich_root is False, at least for now.
142
133
        repo = self.git_repo
143
 
        self.assertEqual(repo.supports_rich_root(), True)
 
134
        self.assertEqual(repo.supports_rich_root(), False)
144
135
 
145
136
    def test_get_signature_text(self):
146
137
        self.assertRaises(errors.NoSuchRevision, self.git_repo.get_signature_text, revision.NULL_REVISION)
149
140
        self.assertEquals(False, self.git_repo.has_signature_for_revision_id(revision.NULL_REVISION))
150
141
 
151
142
    def test_all_revision_ids_none(self):
152
 
        self.assertEquals(set([revision.NULL_REVISION]), self.git_repo.all_revision_ids())
 
143
        self.assertEquals(set(), self.git_repo.all_revision_ids())
153
144
 
154
145
    def test_get_ancestry_null(self):
155
 
        self.assertEquals([None, revision.NULL_REVISION], self.git_repo.get_ancestry(revision.NULL_REVISION))
 
146
        self.assertEquals([None], self.git_repo.get_ancestry(revision.NULL_REVISION))
156
147
 
157
148
    def assertIsNullInventory(self, inv):
158
149
        self.assertEqual(inv.root, None)
185
176
 
186
177
    def test_get_format_description(self):
187
178
        self.assertEquals("Git Repository", self.format.get_format_description())
188
 
 
189
 
 
190
 
class RevisionGistImportTests(tests.TestCaseWithTransport):
191
 
 
192
 
    def setUp(self):
193
 
        tests.TestCaseWithTransport.setUp(self)
194
 
        self.git_path = os.path.join(self.test_dir, "git")
195
 
        os.mkdir(self.git_path)
196
 
        git.repo.Repo.create(self.git_path)
197
 
        self.git_repo = Repository.open(self.git_path)
198
 
        self.bzr_tree = self.make_branch_and_tree("bzr")
199
 
 
200
 
    def import_rev(self, revid, parent_lookup=None):
201
 
        return self.git_repo.import_revision_gist(
202
 
            self.bzr_tree.branch.repository, revid, parent_lookup)
203
 
 
204
 
    def test_pointless(self):
205
 
        revid = self.bzr_tree.commit("pointless", timestamp=1205433193,
206
 
                  committer="Jelmer Vernooij <jelmer@samba.org>")
207
 
        self.assertEquals("2caa8094a5b794961cd9bf582e3e2bb090db0b14", 
208
 
                self.import_rev(revid))
209
 
        self.assertEquals("2caa8094a5b794961cd9bf582e3e2bb090db0b14", 
210
 
                self.import_rev(revid))