async def test_write_large_blob_data(postgres, guillotina_main): root = get_utility(IApplication, name='root') db = root['db'] request = get_mocked_request(db) login(request) async with managed_transaction(request=request): container = await create_content_in_container( db, 'Container', 'container', request=request, title='Container') blob = Blob(container) container.blob = blob multiplier = 999999 blobfi = blob.open('w') await blobfi.async_write(b'foobar' * multiplier) async with managed_transaction(request=request): container = await db.async_get('container') assert await container.blob.open().async_read() == (b'foobar' * multiplier) assert container.blob.size == len(b'foobar' * multiplier) assert container.blob.chunks == 6 await db.async_del('container')
async def test_write_large_blob_data(db, guillotina_main): db = await get_database('db') login() async with transaction(db=db): container = await db.async_get('container') if container is None: container = await create_content_in_container(db, 'Container', 'container', title='Container') blob = Blob(container) container.blob = blob multiplier = 999999 blobfi = blob.open('w') await blobfi.async_write(b'foobar' * multiplier) async with transaction(db=db): container = await db.async_get('container') assert await container.blob.open().async_read() == (b'foobar' * multiplier) assert container.blob.size == len(b'foobar' * multiplier) assert container.blob.chunks == 6 await db.async_del('container')
async def test_write_large_blob_data(db, guillotina_main): root = get_utility(IApplication, name='root') db = root['db'] request = get_mocked_request(db) login(request) async with managed_transaction(request=request): container = await db.async_get('container') if container is None: container = await create_content_in_container( db, 'Container', 'container', request=request, title='Container') blob = Blob(container) container.blob = blob multiplier = 999999 blobfi = blob.open('w') await blobfi.async_write(b'foobar' * multiplier) async with managed_transaction(request=request): container = await db.async_get('container') assert await container.blob.open().async_read() == (b'foobar' * multiplier) assert container.blob.size == len(b'foobar' * multiplier) assert container.blob.chunks == 6 await db.async_del('container')
async def test_write_large_blob_data(db, guillotina_main): db = await get_database("db") login() async with transaction(db=db): container = await db.async_get("container") if container is None: container = await create_content_in_container(db, "Container", "container", title="Container") blob = Blob(container) container.blob = blob multiplier = 999999 blobfi = blob.open("w") await blobfi.async_write(b"foobar" * multiplier) async with transaction(db=db): container = await db.async_get("container") assert await container.blob.open().async_read() == (b"foobar" * multiplier) assert container.blob.size == len(b"foobar" * multiplier) assert container.blob.chunks == 6 await db.async_del("container")
async def test_open_blob_error(db, guillotina_main): db = await get_database("db") login() async with transaction(db=db): container = await db.async_get("container") if container is None: container = await create_content_in_container(db, "Container", "container", title="Container") blob = Blob(container) with pytest.raises(Exception): bf = blob.open("X") await bf.async_write_chunk(b"") with pytest.raises(BlobChunkNotFound): bf = blob.open() await bf.async_read_chunk(1)
async def test_write_blob_data(db, guillotina_main): root = get_utility(IApplication, name='root') db = root['db'] login() async with transaction(db=db): container = await db.async_get('container') if container is None: container = await create_content_in_container( db, 'Container', 'container', title='Container') blob = Blob(container) container.blob = blob blobfi = blob.open('w') await blobfi.async_write(b'foobar') async with transaction(db=db): container = await db.async_get('container') assert await container.blob.open().async_read() == b'foobar' assert container.blob.size == 6 assert container.blob.chunks == 1 await db.async_del('container')