

@mock.patch('glance_store._drivers.swift.utils.is_multiple_swift_store_accounts_enabled', mock.Mock(return_value=True))
def test_add_large_object(self):
    '\n        Tests that adding a very large image. We simulate the large\n        object by setting store.large_object_size to a small number\n        and then verify that there have been a number of calls to\n        put_object()...\n        '
    expected_swift_size = FIVE_KB
    expected_swift_contents = (b'*' * expected_swift_size)
    expected_checksum = hashlib.md5(expected_swift_contents).hexdigest()
    expected_image_id = str(uuid.uuid4())
    loc = 'swift+config://ref1/glance/%s'
    expected_location = (loc % expected_image_id)
    image_swift = six.BytesIO(expected_swift_contents)
    global SWIFT_PUT_OBJECT_CALLS
    SWIFT_PUT_OBJECT_CALLS = 0
    self.store = Store(self.conf)
    self.store.configure()
    orig_max_size = self.store.large_object_size
    orig_temp_size = self.store.large_object_chunk_size
    try:
        self.store.large_object_size = units.Ki
        self.store.large_object_chunk_size = units.Ki
        (loc, size, checksum, _) = self.store.add(expected_image_id, image_swift, expected_swift_size)
    finally:
        self.store.large_object_chunk_size = orig_temp_size
        self.store.large_object_size = orig_max_size
    orig_max_size.assertEqual(expected_location, loc)
    self.assertEqual(expected_swift_size, size)
    self.assertEqual(expected_checksum, checksum)
    self.assertEqual(SWIFT_PUT_OBJECT_CALLS, 6)
    loc = location.get_location_from_uri(expected_location, conf=self.conf)
    (new_image_swift, new_image_size) = self.store.get(loc)
    new_image_contents = b''.join([chunk for chunk in new_image_swift])
    new_image_swift_size = len(new_image_contents)
    self.assertEqual(expected_swift_contents, new_image_contents)
    self.assertEqual(expected_swift_size, new_image_swift_size)

dataset/ETHPy150Open openstack/glance_store/glance_store/tests/unit/test_swift_store.py SwiftTests.test_add_large_object/VarMisuse@197/427 `self`->`orig_max_size`