Esempio n. 1
0
    def test_returns_None_for_missing_blob(self):
        bag_store = DummyBagStore()

        blob_store = obnamlib.BlobStore()
        blob_store.set_bag_store(bag_store)
        blob_id = obnamlib.make_object_id(123, 456)
        self.assertEqual(blob_store.get_blob(blob_id), None)
Esempio n. 2
0
    def test_returns_None_for_missing_blob(self):
        bag_store = DummyBagStore()

        blob_store = obnamlib.BlobStore()
        blob_store.set_bag_store(bag_store)
        blob_id = obnamlib.make_object_id(123, 456)
        self.assertEqual(blob_store.get_blob(blob_id), None)
Esempio n. 3
0
 def get_chunks_in_bag(self, bag_id):
     try:
         bag = self._bag_store.get_bag(bag_id)
     except EnvironmentError:
         pass
     else:
         for i in range(len(bag)):
             yield obnamlib.make_object_id(bag_id, i)
Esempio n. 4
0
 def get_blob(self, blob_id):
     bag_id, index = obnamlib.parse_object_id(blob_id)
     if self._bag and bag_id == self._bag.get_id():
         return self._bag[index]
     if blob_id in self._cached_blobs:
         return self._cached_blobs.get(blob_id)
     if self._bag_store.has_bag(bag_id):
         bag = self._bag_store.get_bag(bag_id)
         for i, this_blob in enumerate(bag):
             this_id = obnamlib.make_object_id(bag_id, i)
             self._cached_blobs.put(this_id, this_blob)
         return bag[index]
     return None
Esempio n. 5
0
 def test_round_trip_works(self):
     bag_id = 123
     object_index = 456
     object_id = obnamlib.make_object_id(bag_id, object_index)
     self.assertEqual(obnamlib.parse_object_id(object_id),
                      (bag_id, object_index))
Esempio n. 6
0
 def test_appending_returns_object_id_when_bag_id_is_a_string(self):
     bag = obnamlib.Bag()
     bag.set_id('well-known')
     object_id = bag.append('foo')
     self.assertEqual(object_id, obnamlib.make_object_id('well-known', 0))
Esempio n. 7
0
 def test_appending_returns_object_id(self):
     bag = obnamlib.Bag()
     bag.set_id(1)
     object_id = bag.append('foo')
     self.assertEqual(object_id, obnamlib.make_object_id(1, 0))
Esempio n. 8
0
 def test_round_trip_works(self):
     bag_id = 123
     object_index = 456
     object_id = obnamlib.make_object_id(bag_id, object_index)
     self.assertEqual(obnamlib.parse_object_id(object_id), (bag_id, object_index))
Esempio n. 9
0
 def test_appending_returns_object_id(self):
     bag = obnamlib.Bag()
     bag.set_id(1)
     object_id = bag.append("foo")
     self.assertEqual(object_id, obnamlib.make_object_id(1, 0))
Esempio n. 10
0
 def get_chunk_ids_in_bag(bag_id):
     bag = chunk_store._bag_store.get_bag(bag_id)
     return [
         obnamlib.make_object_id(bag_id, i)
         for i in range(len(bag))
     ]
Esempio n. 11
0
 def _get_chunk_ids_from_bag(self, bag):
     return [obnamlib.make_object_id(bag.get_id(), i)
             for i in range(len(bag))]
Esempio n. 12
0
 def append(self, blob):
     if self.get_id() is None:
         raise BagIdNotSetError()
     self._blobs.append(blob)
     self._blobs_bytes += len(blob)
     return obnamlib.make_object_id(self.get_id(), len(self) - 1)
Esempio n. 13
0
 def append(self, blob):
     if self.get_id() is None:
         raise BagIdNotSetError()
     self._blobs.append(blob)
     self._blobs_bytes += len(blob)
     return obnamlib.make_object_id(self.get_id(), len(self) - 1)