33
33
class TestGitShaMap:
35
35
def test_commit(self):
36
self.map.add_entry("5686645d49063c73d35436192dfc9a160c672301",
37
"commit", ("myrevid", "cc9462f7f8263ef5adfbeff2fb936bb36b504cba"))
36
self.map.start_write_group()
37
self.map.add_entries("myrevid", [],
38
"5686645d49063c73d35436192dfc9a160c672301",
39
"cc9462f7f8263ef5adfbeff2fb936bb36b504cba", [])
40
self.map.commit_write_group()
39
42
("commit", ("myrevid", "cc9462f7f8263ef5adfbeff2fb936bb36b504cba")),
40
43
self.map.lookup_git_sha("5686645d49063c73d35436192dfc9a160c672301"))
42
45
def test_lookup_notfound(self):
43
self.assertRaises(KeyError,
46
self.assertRaises(KeyError,
44
47
self.map.lookup_git_sha, "5686645d49063c73d35436192dfc9a160c672301")
46
49
def test_blob(self):
47
thesha = "5686645d49063c73d35436192dfc9a160c672301"
48
self.map.add_entry(thesha, "blob", ("myfileid", "myrevid"))
50
thesha = "9686645d49063c73d35436192dfc9a160c672301"
51
self.map.start_write_group()
52
self.map.add_entries("myrevid", [],
53
"5686645d49063c73d35436192dfc9a160c672301",
54
"cc9462f7f8263ef5adfbeff2fb936bb36b504cba", [
55
("myfileid", "blob", thesha, "myrevid")
57
self.map.commit_write_group()
50
59
("blob", ("myfileid", "myrevid")),
51
60
self.map.lookup_git_sha(thesha))
52
self.assertEquals(thesha, self.map.lookup_blob("myfileid", "myrevid"))
61
invshamap = self.map.get_inventory_sha_map("myrevid")
62
self.assertEquals(thesha, invshamap.lookup_blob("myfileid", "myrevid"))
54
64
def test_tree(self):
55
thesha = "5686645d49063c73d35436192dfc9a160c672301"
56
self.map.add_entry(thesha,
57
"tree", ("somepath", "myrevid"))
65
thesha = "8686645d49063c73d35436192dfc9a160c672301"
66
self.map.start_write_group()
67
self.map.add_entries("myrevid", [],
68
"5686645d49063c73d35436192dfc9a160c672301",
69
"cc9462f7f8263ef5adfbeff2fb936bb36b504cba", [
70
("somepath", "tree", thesha, "myrevid")])
71
self.map.commit_write_group()
59
73
("tree", ("somepath", "myrevid")),
60
74
self.map.lookup_git_sha(thesha))
61
self.assertEquals(thesha, self.map.lookup_tree("somepath", "myrevid"))
63
76
def test_revids(self):
64
self.map.add_entry("5686645d49063c73d35436192dfc9a160c672301",
65
"commit", ("myrevid", "cc9462f7f8263ef5adfbeff2fb936bb36b504cba"))
77
self.map.start_write_group()
78
self.map.add_entries("myrevid", [],
79
"5686645d49063c73d35436192dfc9a160c672301",
80
"cc9462f7f8263ef5adfbeff2fb936bb36b504cba", [])
81
self.map.commit_write_group()
66
82
self.assertEquals(["myrevid"], list(self.map.revids()))
84
def test_missing_revisions(self):
85
self.map.start_write_group()
86
self.map.add_entries("myrevid", [],
87
"5686645d49063c73d35436192dfc9a160c672301",
88
"cc9462f7f8263ef5adfbeff2fb936bb36b504cba", [])
89
self.map.commit_write_group()
90
self.assertEquals(set(["lala", "bla"]),
91
set(self.map.missing_revisions(["myrevid", "lala", "bla"])))
69
94
class DictGitShaMapTests(TestCase,TestGitShaMap):