Exemplo n.º 1
0
 def test_find_missing_objects_with_common(self):
     commit_amount = 3
     sos = swift.SwiftObjectStore(self.fsc)
     odata = self._put_pack(sos, commit_amount, 'Default')
     head = odata[-1].id
     have = odata[7].id
     i = sos.iter_shas(sos.find_missing_objects([have, ],
                                                [head, ],
                                                progress=None,
                                                get_tagged=None))
     self.assertEqual(len(i), 3)
Exemplo n.º 2
0
 def test_find_missing_objects(self):
     commit_amount = 3
     sos = swift.SwiftObjectStore(self.fsc)
     odata = self._put_pack(sos, commit_amount, 'Default')
     head = odata[-1].id
     i = sos.iter_shas(sos.find_missing_objects([],
                                                [head, ],
                                                progress=None,
                                                get_tagged=None))
     self.assertEqual(len(i), commit_amount * 3)
     shas = [d.id for d in odata]
     for sha, path in i:
         self.assertIn(sha.id, shas)
Exemplo n.º 3
0
 def test_load_packs(self):
     store = {'fakerepo/objects/pack/pack-'+'1'*40+'.idx': '',
              'fakerepo/objects/pack/pack-'+'1'*40+'.pack': '',
              'fakerepo/objects/pack/pack-'+'1'*40+'.info': '',
              'fakerepo/objects/pack/pack-'+'2'*40+'.idx': '',
              'fakerepo/objects/pack/pack-'+'2'*40+'.pack': '',
              'fakerepo/objects/pack/pack-'+'2'*40+'.info': ''}
     fsc = FakeSwiftConnector('fakerepo', conf=self.conf, store=store)
     sos = swift.SwiftObjectStore(fsc)
     packs = sos._load_packs()
     self.assertEqual(len(packs), 2)
     for pack in packs:
         self.assertTrue(isinstance(pack, swift.SwiftPack))
Exemplo n.º 4
0
 def setUp(self):
     conf = swift.load_conf(file=BytesIO(config_file % def_config_file))
     sos = swift.SwiftObjectStore(FakeSwiftConnector('fakerepo', conf=conf))
     commit_amount = 10
     self.commits = create_commits(length=commit_amount, marker="m")
     data = [(d.type_num, d.as_raw_string()) for d in self.commits]
     f = BytesIO()
     fi = BytesIO()
     expected = build_pack(f, data, store=sos)
     entries = [(sha, ofs, checksum)
                for ofs, _, _, sha, checksum in expected]
     self.pack_data = PackData.from_file(file=f, size=None)
     write_pack_index_v2(fi, entries, self.pack_data.calculate_checksum())
     fi.seek(0)
     self.pack_index = load_pack_index_file('', fi)
Exemplo n.º 5
0
 def test_find_missing_objects_with_tag(self):
     commit_amount = 3
     sos = swift.SwiftObjectStore(self.fsc)
     odata = self._put_pack(sos, commit_amount, 'Default')
     head = odata[-1].id
     peeled_sha = dict([(sha.object[1], sha.id)
                        for sha in odata if isinstance(sha, Tag)])
     get_tagged = lambda: peeled_sha
     i = sos.iter_shas(sos.find_missing_objects([],
                                                [head, ],
                                                progress=None,
                                                get_tagged=get_tagged))
     self.assertEqual(len(i), commit_amount * 4)
     shas = [d.id for d in odata]
     for sha, path in i:
         self.assertIn(sha.id, shas)
Exemplo n.º 6
0
 def test_add_thin_pack_ext_ref(self):
     sos = swift.SwiftObjectStore(self.fsc)
     odata = self._put_pack(sos, 1, 'Default1')
     ref_blob_content = odata[0].as_raw_string()
     ref_blob_id = odata[0].id
     new_blob = Blob.from_string(
         ref_blob_content.replace('blob', 'yummy blob'))
     blob, tree, tag, cmt = \
         create_commit([], marker='Default2', blob=new_blob)
     data = [(REF_DELTA, (ref_blob_id, blob.as_raw_string())),
             (tree.type_num, tree.as_raw_string()),
             (cmt.type_num, cmt.as_raw_string()),
             (tag.type_num, tag.as_raw_string())]
     f = BytesIO()
     build_pack(f, data, store=sos)
     sos.add_thin_pack(f.read, None)
     self.assertEqual(len(self.fsc.store), 6)
Exemplo n.º 7
0
 def test_find_missing_objects_multiple_packs(self):
     sos = swift.SwiftObjectStore(self.fsc)
     commit_amount_a = 3
     odataa = self._put_pack(sos, commit_amount_a, 'Default1')
     heada = odataa[-1].id
     commit_amount_b = 2
     odatab = self._put_pack(sos, commit_amount_b, 'Default2')
     headb = odatab[-1].id
     i = sos.iter_shas(
         sos.find_missing_objects([], [heada, headb],
                                  progress=None,
                                  get_tagged=None))
     self.assertEqual(len(self.fsc.store), 6)
     self.assertEqual(len(i), commit_amount_a * 3 + commit_amount_b * 3)
     shas = [d.id for d in odataa]
     shas.extend([d.id for d in odatab])
     for sha, path in i:
         self.assertIn(sha.id, shas)
Exemplo n.º 8
0
 def setUp(self):
     TestCase.setUp(self)
     conf = swift.load_conf(file=BytesIO(config_file % def_config_file))
     fsc = FakeSwiftConnector('fakerepo', conf=conf)
     self.store = swift.SwiftObjectStore(fsc)
Exemplo n.º 9
0
 def test_add_thin_pack(self):
     sos = swift.SwiftObjectStore(self.fsc)
     self._put_pack(sos, 1, 'Default')
     self.assertEqual(len(self.fsc.store), 3)