/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

More work on roundtrip push support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
 
25
25
from bzrlib import (
26
26
    errors,
 
27
    inventory,
27
28
    revision,
28
29
    )
29
30
from bzrlib.repository import (
129
130
        self.assertEquals(tree.get_revision_id(), revid)
130
131
        self.assertEquals("text\n", tree.get_file_text(tree.path2id("data")))
131
132
 
 
133
    def test_get_inventory(self):
 
134
        # GitRepository.get_inventory gives a GitInventory object with
 
135
        # plausible entries for typical cases.
 
136
 
 
137
        commit_id = self.simple_commit()
 
138
 
 
139
        # Get the corresponding Inventory object.
 
140
        revid = default_mapping.revision_id_foreign_to_bzr(commit_id)
 
141
        repo = Repository.open('.')
 
142
        inv = repo.get_inventory(revid)
 
143
        self.assertIsInstance(inv, inventory.Inventory)
 
144
        printed_inv = '\n'.join(
 
145
            repr((path, entry.executable, entry))
 
146
            for path, entry in inv.iter_entries())
 
147
        self.assertEqualDiff(
 
148
            printed_inv,
 
149
            "('', False, GitInventoryDirectory('TREE_ROOT', u'', parent_id=None,"
 
150
            " revision='"+default_mapping.revision_id_foreign_to_bzr("69c39cfa65962f3cf16b9b3eb08a15954e9d8590")+"'))\n"
 
151
            "(u'data', False, GitInventoryFile('data', u'data',"
 
152
            " parent_id='TREE_ROOT',"
 
153
            " sha1='aa785adca3fcdfe1884ae840e13c6d294a2414e8', len=5, revision="+default_mapping.revid_prefix+":69c39cfa65962f3cf16b9b3eb08a15954e9d8590))\n"
 
154
            "(u'executable', True, GitInventoryFile('executable', u'executable',"
 
155
            " parent_id='TREE_ROOT',"
 
156
            " sha1='040f06fd774092478d450774f5ba30c5da78acc8', len=7, revision="+default_mapping.revid_prefix+":69c39cfa65962f3cf16b9b3eb08a15954e9d8590))\n"
 
157
            "(u'link', False, GitInventoryLink('link', u'link',"
 
158
            " parent_id='TREE_ROOT', revision='"+default_mapping.revision_id_foreign_to_bzr("69c39cfa65962f3cf16b9b3eb08a15954e9d8590")+"'))\n"
 
159
            "(u'subdir', False, GitInventoryDirectory('subdir', u'subdir',"
 
160
            " parent_id='TREE_ROOT', revision='"+default_mapping.revision_id_foreign_to_bzr("69c39cfa65962f3cf16b9b3eb08a15954e9d8590")+"'))\n"
 
161
            "(u'subdir/subfile', False, GitInventoryFile('subdir/subfile',"
 
162
            " u'subfile', parent_id='subdir',"
 
163
            " sha1='67b75c3e49f31fcadddbf9df6a1d8be8c3e44290', len=12, revision="+default_mapping.revid_prefix+":69c39cfa65962f3cf16b9b3eb08a15954e9d8590))")
 
164
 
132
165
 
133
166
class TestGitRepository(tests.TestCaseWithTransport):
134
167
 
157
190
    def test_all_revision_ids_none(self):
158
191
        self.assertEquals(set([]), self.git_repo.all_revision_ids())
159
192
 
160
 
    def test_get_known_graph_ancestry(self):
161
 
        cid = self._do_commit()
162
 
        revid = default_mapping.revision_id_foreign_to_bzr(cid)
163
 
        g = self.git_repo.get_known_graph_ancestry([revid])
164
 
        self.assertEquals(frozenset([revid]),
165
 
            g.heads([revid]))
166
 
        self.assertEqual([(revid, 0, (1,), True)],
167
 
            [(n.key, n.merge_depth, n.revno, n.end_of_merge)
168
 
                 for n in g.merge_sort(revid)])
169
 
 
170
193
    def test_all_revision_ids(self):
171
194
        commit_id = self._do_commit()
172
195
        self.assertEquals(
173
196
                set([default_mapping.revision_id_foreign_to_bzr(commit_id)]),
174
197
                self.git_repo.all_revision_ids())
175
198
 
 
199
    def test_get_ancestry_null(self):
 
200
        self.assertEquals([None, revision.NULL_REVISION], self.git_repo.get_ancestry(revision.NULL_REVISION))
 
201
 
176
202
    def assertIsNullInventory(self, inv):
177
203
        self.assertEqual(inv.root, None)
178
204
        self.assertEqual(inv.revision_id, revision.NULL_REVISION)
179
205
        self.assertEqual(list(inv.iter_entries()), [])
180
206
 
 
207
    def test_get_inventory_none(self):
 
208
        # GitRepository.get_inventory(None) returns the null inventory.
 
209
        repo = self.git_repo
 
210
        inv = repo.get_inventory(revision.NULL_REVISION)
 
211
        self.assertIsNullInventory(inv)
 
212
 
181
213
    def test_revision_tree_none(self):
182
214
        # GitRepository.revision_tree(None) returns the null tree.
183
215
        repo = self.git_repo
184
216
        tree = repo.revision_tree(revision.NULL_REVISION)
185
217
        self.assertEqual(tree.get_revision_id(), revision.NULL_REVISION)
 
218
        self.assertIsNullInventory(tree.inventory)
186
219
 
187
220
    def test_get_parent_map_null(self):
188
221
        self.assertEquals({revision.NULL_REVISION: ()},