19
19
from base64 import standard_b64encode
21
from bzrlib.plugins.git.pristine_tar import revision_pristine_tar_data
21
from bzrlib.plugins.git.pristine_tar import (
22
revision_pristine_tar_data,
23
read_git_pristine_tar_data,
23
26
from bzrlib.revision import Revision
24
27
from bzrlib.tests import TestCase
29
from dulwich.objects import (
33
from dulwich.repo import (
34
MemoryRepo as GitMemoryRepo,
26
39
class RevisionPristineTarDataTests(TestCase):
28
41
def test_pristine_tar_delta_unknown(self):
34
47
rev = Revision("myrevid")
35
48
rev.properties["deb-pristine-delta"] = standard_b64encode("bla")
36
49
self.assertEquals("bla", revision_pristine_tar_data(rev))
52
class ReadPristineTarData(TestCase):
54
def test_read_pristine_tar_data_no_branch(self):
56
self.assertRaises(KeyError, read_git_pristine_tar_data,
59
def test_read_pristine_tar_data_no_file(self):
62
b = Blob.from_string("README")
63
r.object_store.add_object(b)
64
t.add("README", stat.S_IFREG | 0644, b.id)
65
r.object_store.add_object(t)
66
r.do_commit("Add README", tree=t.id,
67
ref='refs/heads/pristine-tar')
68
self.assertRaises(KeyError, read_git_pristine_tar_data,
71
def test_read_pristine_tar_data(self):
73
delta = Blob.from_string("some yummy data")
74
r.object_store.add_object(delta)
75
idfile = Blob.from_string("someid")
76
r.object_store.add_object(idfile)
78
t.add("foo.delta", stat.S_IFREG | 0644, delta.id)
79
t.add("foo.id", stat.S_IFREG | 0644, idfile.id)
80
r.object_store.add_object(t)
81
r.do_commit("pristine tar delta for foo", tree=t.id,
82
ref='refs/heads/pristine-tar')
84
("some yummy data", "someid"),
85
read_git_pristine_tar_data(r, 'foo'))