def test_stored_data_can_be_read(self):
        storage = MemoryStorage()

        storage.write('foo', b'data')
        self.assertEqual(b'data', storage.read('foo'))
    def test_stored_data_integrity_is_checked_on_read(self):
        storage = MemoryStorage()

        storage.write('foo', b'data', md5='foobar')
        self.assertRaises(IntegrityError, lambda: storage.read('foo'))
    def test_reading_missing_item_raises_error(self):
        storage = MemoryStorage()

        self.assertRaises(StorageElementNotFoundError, lambda: storage.read_metadata('foo'))
        self.assertRaises(StorageElementNotFoundError, lambda: storage.read('foo'))