-
Notifications
You must be signed in to change notification settings - Fork 61
Open
Description
_____________________________ test_get_image_model _____________________________
auth_client = <itkdb.client.Client object at 0x7fc9cba70970>
tmpdir = local('/tmp/pytest-of-root/pytest-0/test_get_image_model0')
def test_get_image_model(auth_client, tmpdir):
with betamax.Betamax(
auth_client, cassette_library_dir=itkdb.settings.ITKDB_CASSETTE_LIBRARY_DIR
) as recorder:
recorder.use_cassette('test_images.test_get_image', record='none')
image = auth_client.get(
'uu-app-binarystore/getBinaryData',
json={
'code': 'bc2eccc58366655352582970d3f81bf46f15a48cf0cb98d74e21463f1dc4dcb9'
},
)
assert isinstance(image, itkdb.models.Image)
assert image.filename == 'PB6.CR2'
assert image.format == 'cr2'
temp = tmpdir.join("saved_image.cr2")
nbytes = image.save(filename=temp.strpath)
> assert nbytes == 64603006
tests/integration/test_image.py:34:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.8/site-packages/betamax/recorder.py:72: in __exit__
self.stop()
/usr/local/lib/python3.8/site-packages/betamax/recorder.py:131: in stop
self.betamax_adapter.eject_cassette()
/usr/local/lib/python3.8/site-packages/betamax/adapter.py:50: in eject_cassette
self.cassette.eject()
/usr/local/lib/python3.8/site-packages/betamax/cassette/cassette.py:110: in eject
self._save_cassette()
/usr/local/lib/python3.8/site-packages/betamax/cassette/cassette.py:205: in _save_cassette
self.sanitize_interactions()
/usr/local/lib/python3.8/site-packages/betamax/cassette/cassette.py:179: in sanitize_interactions
i.replace_all(self.placeholders, True)
/usr/local/lib/python3.8/site-packages/betamax/cassette/interaction.py:69: in replace_all
self.replace(*placeholder.unpack(serializing))
/usr/local/lib/python3.8/site-packages/betamax/cassette/interaction.py:63: in replace
self.replace_in_body(text_to_replace, placeholder)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <betamax.cassette.interaction.Interaction object at 0x7fc9cbc0dee0>
text_to_replace = '', placeholder = '<ACCESSCODE2>'
def replace_in_body(self, text_to_replace, placeholder):
for obj in ('request', 'response'):
body = self.data[obj]['body']
old_style = hasattr(body, 'replace')
if not old_style:
body = body.get('string', '')
if text_to_replace in body:
> body = body.replace(text_to_replace, placeholder)
E MemoryError
/usr/local/lib/python3.8/site-packages/betamax/cassette/interaction.py:89: MemoryError
When a previously recorded cassette is very large, trying to replace causes an error. Any ideas how to get around this?
Metadata
Metadata
Assignees
Labels
No labels