189
189
def test_import_blob_simple(self):
190
190
blob = Blob.from_string("bar")
192
inv.revision_id = "somerevid"
193
import_git_blob(self._texts, self._mapping, "bla", blob,
194
inv, [], self._map, False)
191
base_inv = Inventory()
192
ret = import_git_blob(self._texts, self._mapping, "bla", blob,
193
base_inv, None, "somerevid", [], self._map, False)
195
194
self.assertEquals(set([('bla', 'somerevid')]), self._texts.keys())
196
195
self.assertEquals(self._texts.get_record_stream([('bla', 'somerevid')],
197
196
"unordered", True).next().get_bytes_as("fulltext"), "bar")
198
self.assertEquals(False, inv["bla"].executable)
199
self.assertEquals("file", inv["bla"].kind)
200
self.assertEquals("somerevid", inv["bla"].revision)
201
self.assertEquals(osutils.sha_strings(["bar"]), inv["bla"].text_sha1)
197
self.assertEquals(1, len(ret))
198
self.assertEquals(None, ret[0][0])
199
self.assertEquals("bla", ret[0][1])
201
self.assertEquals(False, ie.executable)
202
self.assertEquals("file", ie.kind)
203
self.assertEquals("somerevid", ie.revision)
204
self.assertEquals(osutils.sha_strings(["bar"]), ie.text_sha1)
203
206
def test_import_tree_empty_root(self):
205
inv.revision_id = "somerevid"
207
base_inv = Inventory(root_id=None)
208
import_git_tree(self._texts, self._mapping, "", tree, inv, [],
209
self._map, {}.__getitem__)
210
ret = import_git_tree(self._texts, self._mapping, "", tree, base_inv,
211
None, "somerevid", [], self._map, {}.__getitem__)
210
212
self.assertEquals(set([("TREE_ROOT", 'somerevid')]), self._texts.keys())
211
self.assertEquals(False, inv["TREE_ROOT"].executable)
212
self.assertEquals("directory", inv["TREE_ROOT"].kind)
213
self.assertEquals({}, inv["TREE_ROOT"].children)
214
self.assertEquals("somerevid", inv["TREE_ROOT"].revision)
215
self.assertEquals(None, inv["TREE_ROOT"].text_sha1)
213
self.assertEquals(1, len(ret))
214
self.assertEquals(None, ret[0][0])
215
self.assertEquals("", ret[0][1])
217
self.assertEquals(False, ie.executable)
218
self.assertEquals("directory", ie.kind)
219
self.assertEquals({}, ie.children)
220
self.assertEquals("somerevid", ie.revision)
221
self.assertEquals(None, ie.text_sha1)
217
223
def test_import_tree_empty(self):
219
inv.revision_id = "somerevid"
224
base_inv = Inventory()
222
import_git_tree(self._texts, self._mapping, "bla", tree, inv, [],
223
self._map, {}.__getitem__)
227
ret = import_git_tree(self._texts, self._mapping, "bla", tree,
228
base_inv, None, "somerevid", [], self._map, {}.__getitem__)
224
229
self.assertEquals(set([("bla", 'somerevid')]), self._texts.keys())
225
self.assertEquals("directory", inv["bla"].kind)
226
self.assertEquals(False, inv["bla"].executable)
227
self.assertEquals({}, inv["bla"].children)
228
self.assertEquals("somerevid", inv["bla"].revision)
229
self.assertEquals(None, inv["bla"].text_sha1)
230
self.assertEquals(1, len(ret))
231
self.assertEquals(None, ret[0][0])
232
self.assertEquals("bla", ret[0][1])
234
self.assertEquals("directory", ie.kind)
235
self.assertEquals(False, ie.executable)
236
self.assertEquals({}, ie.children)
237
self.assertEquals("somerevid", ie.revision)
238
self.assertEquals(None, ie.text_sha1)
231
240
def test_import_tree_with_file(self):
233
inv.revision_id = "somerevid"
241
base_inv = Inventory()
234
242
blob = Blob.from_string("bar1")
236
244
tree.add(0100600, "foo", blob.id)
238
246
objects = { blob.id: blob, tree.id: tree }
239
import_git_tree(self._texts, self._mapping, "bla", tree, inv, [],
240
self._map, objects.__getitem__)
241
self.assertEquals(["foo"], inv["bla"].children.keys())
242
self.assertEquals(set(["bla", "bla/foo"]),
243
set([ie.file_id for (path, ie) in inv.entries()]))
247
ret = import_git_tree(self._texts, self._mapping, "bla", tree,
248
base_inv, None, "somerevid", [], self._map, objects.__getitem__)
249
self.assertEquals(2, len(ret))
250
self.assertEquals(None, ret[0][0])
251
self.assertEquals("bla", ret[0][1])
252
self.assertEquals(None, ret[1][0])
253
self.assertEquals("bla/foo", ret[1][1])
255
self.assertEquals("directory", ie.kind)
245
257
self.assertEquals("file", ie.kind)
246
258
self.assertEquals("bla/foo", ie.file_id)
247
259
self.assertEquals("somerevid", ie.revision)
249
261
self.assertEquals(False, ie.executable)
251
263
def test_import_tree_with_file_exe(self):
253
inv.revision_id = "somerevid"
264
base_inv = Inventory(root_id=None)
254
265
blob = Blob.from_string("bar")
256
267
tree.add(0100755, "foo", blob.id)
258
269
objects = { blob.id: blob, tree.id: tree }
259
import_git_tree(self._texts, self._mapping, "bla", tree, inv, [],
260
self._map, objects.__getitem__)
261
self.assertEquals(["foo"], inv["bla"].children.keys())
270
ret = import_git_tree(self._texts, self._mapping, "", tree,
271
base_inv, None, "somerevid", [], self._map, objects.__getitem__)
272
self.assertEquals(2, len(ret))
273
self.assertEquals(None, ret[0][0])
274
self.assertEquals("", ret[0][1])
275
self.assertEquals(None, ret[1][0])
276
self.assertEquals("foo", ret[1][1])
278
self.assertEquals("directory", ie.kind)
263
280
self.assertEquals("file", ie.kind)
264
281
self.assertEquals(True, ie.executable)