def test_blob_from_bytes_io(): data = b'abc \x01 \x45 vv' bytes_io = io.BytesIO(data) blob = lobs.Blob(bytes_io) assert blob.getvalue() == data # check that io container is used directly without copying: assert blob.data is bytes_io
def test_insert_single_object_blob_row(connection, test_table): """Insert a single row providing blob data as LOB object (argument order: blob, name)""" cursor = connection.cursor() blob_data = 'ab \0x1 \0x17 yz' blob_obj = lobs.Blob(blob_data) cursor.execute("insert into %s (fblob, name) values (:1, :2)" % TABLE, [blob_obj, 'blob1']) blob = cursor.execute("select fblob from %s where name='blob1' " % TABLE).fetchone()[0] assert blob.read() == blob_data
def test_blob_from_string(): data = 'abc \x01 \x45 vv' blob = lobs.Blob(data) assert blob.getvalue() == data
def test_blob_uses_bytes_io(): data = b'abc \x01 \x45 vv' blob = lobs.Blob(data) assert isinstance(blob.data, io.BytesIO)