73
74
self.map.commit_write_group()
75
76
[("commit", (b"myrevid",
76
b"cc9462f7f8263ef5adfbeff2fb936bb36b504cba",
77
{"testament3-sha1": b"cc9462f7f8263ef5adf8eff2fb936bb36b504cba"},
77
b"cc9462f7f8263ef5adfbeff2fb936bb36b504cba",
78
{"testament3-sha1": b"cc9462f7f8263ef5adf8eff2fb936bb36b504cba"},
79
80
list(self.map.lookup_git_sha(c.id)))
80
81
self.assertEqual(c.id, self.map.lookup_commit(b"myrevid"))
82
83
def test_lookup_notfound(self):
83
84
self.assertRaises(KeyError, list,
84
self.map.lookup_git_sha(b"5686645d49063c73d35436192dfc9a160c672301"))
85
self.map.lookup_git_sha(b"5686645d49063c73d35436192dfc9a160c672301"))
86
87
def test_blob(self):
87
88
self.map.start_write_group()
88
89
updater = self.cache.get_updater(Revision(b"myrevid"))
89
updater.add_object(self._get_test_commit(), { "testament3-sha1": b"Test" }, None)
90
updater.add_object(self._get_test_commit(), {
91
"testament3-sha1": b"Test"}, None)
91
93
b.data = b"TEH BLOB"
92
94
updater.add_object(b, (b"myfileid", b"myrevid"), None)
96
98
[("blob", (b"myfileid", b"myrevid"))],
97
99
list(self.map.lookup_git_sha(b.id)))
98
100
self.assertEqual(b.id,
99
self.map.lookup_blob_id(b"myfileid", b"myrevid"))
101
self.map.lookup_blob_id(b"myfileid", b"myrevid"))
101
103
def test_tree(self):
102
104
self.map.start_write_group()
103
105
updater = self.cache.get_updater(Revision(b"somerevid"))
104
106
updater.add_object(self._get_test_commit(), {
105
"testament3-sha1": b"mytestamentsha" }, None)
107
"testament3-sha1": b"mytestamentsha"}, None)
107
109
t.add(b"somename", stat.S_IFREG, Blob().id)
108
110
updater.add_object(t, (b"fileid", b"myrevid"), b"")
110
112
self.map.commit_write_group()
111
113
self.assertEqual([("tree", (b"fileid", b"myrevid"))],
112
list(self.map.lookup_git_sha(t.id)))
114
list(self.map.lookup_git_sha(t.id)))
113
115
# It's possible for a backend to not implement lookup_tree
115
117
self.assertEqual(t.id,
116
self.map.lookup_tree_id(b"fileid", b"myrevid"))
118
self.map.lookup_tree_id(b"fileid", b"myrevid"))
117
119
except NotImplementedError:
135
137
self.map.commit_write_group()
136
138
self.assertEqual(set([b"lala", b"bla"]),
137
set(self.map.missing_revisions([b"myrevid", b"lala", b"bla"])))
140
class DictGitShaMapTests(TestCase,TestGitShaMap):
139
set(self.map.missing_revisions([b"myrevid", b"lala", b"bla"])))
142
class DictGitShaMapTests(TestCase, TestGitShaMap):
143
145
TestCase.setUp(self)
145
147
self.map = self.cache.idmap
148
class SqliteGitShaMapTests(TestCaseInTempDir,TestGitShaMap):
150
class SqliteGitShaMapTests(TestCaseInTempDir, TestGitShaMap):
151
153
TestCaseInTempDir.setUp(self)
153
155
self.map = self.cache.idmap
156
class TdbGitShaMapTests(TestCaseInTempDir,TestGitShaMap):
158
class TdbGitShaMapTests(TestCaseInTempDir, TestGitShaMap):
159
161
TestCaseInTempDir.setUp(self)
164
166
self.map = self.cache.idmap
167
class IndexGitShaMapTests(TestCaseInTempDir,TestGitShaMap):
169
class IndexGitShaMapTests(TestCaseInTempDir, TestGitShaMap):
170
172
TestCaseInTempDir.setUp(self)