def test_blob(self): """Test data insertion and retrieval to text columns.""" conn = self.database.connection() cursor = conn.cursor() dialect = self.database.dialect() dbapi = self.database.dbapi() query = dialect.translate('DROP TABLE test_blob') try: cursor.execute(query) except dbapi.Error: conn.rollback() query = dialect.translate('CREATE TABLE test_blob ' \ '( value BLOB NOT NULL )') cursor.execute(query) data = [] query = 'INSERT INTO test_blob VALUES (%s)' for i in range(10): item = buffer(random_data(100000)) data.append(item) cursor.execute(query, (item,)) query = 'SELECT * FROM test_blob' cursor.execute(query) result = cursor.fetchall() for row in result: item = row[0] assert isinstance(item, buffer) assert item in data data.remove(item) query = dialect.translate('DELETE FROM test_blob') cursor.execute(query) query = dialect.translate('DROP TABLE test_blob') cursor.execute(query) conn.commit()
def test_binary(self): ns = self.namespace data = [] for i in range(10): blob = random_data(random.randrange(100000)) data.append(blob) for i,val in enumerate(data): ns['key_%d' % i] = val ns.flush(); ns._load() for i,val in enumerate(data): assert ns['key_%d' % i] == val