def test_autocommit_switching(dsn, configuration): table_name = unique_table_name() connection = connect(dsn, **get_credentials(configuration)) connection.autocommit = True # <--- connection.cursor().execute(f"CREATE TABLE {table_name} (a INTEGER)") connection.close() options = make_options(autocommit=True) connection = connect( dsn, turbodbc_options=options, **get_credentials(configuration) ) connection.autocommit = False # <--- connection.cursor().execute(f"INSERT INTO {table_name} VALUES (?)", [42]) connection.close() # table is there, but data was not persisted connection = connect(dsn, **get_credentials(configuration)) cursor = connection.cursor() cursor.execute(f"SELECT * FROM {table_name}") results = cursor.fetchall() assert results == [] cursor.execute(f"DROP TABLE {table_name}") connection.commit()
def test_rollback(dsn, configuration): table_name = unique_table_name() connection = connect(dsn, **get_credentials(configuration)) connection.cursor().execute(f"CREATE TABLE {table_name} (a INTEGER)") connection.rollback() with pytest.raises(DatabaseError): connection.cursor().execute(f"SELECT * FROM {table_name}")
def test_rollback(dsn, configuration): table_name = unique_table_name() connection = connect(dsn, **get_credentials(configuration)) connection.cursor().execute('CREATE TABLE {} (a INTEGER)'.format(table_name)) connection.rollback() with pytest.raises(DatabaseError): connection.cursor().execute('SELECT * FROM {}'.format(table_name))
def test_autocommit_enabled_at_start(dsn, configuration): table_name = unique_table_name() options = make_options(autocommit=True) connection = connect(dsn, turbodbc_options=options, **get_credentials(configuration)) connection.cursor().execute('CREATE TABLE {} (a INTEGER)'.format(table_name)) connection.close() connection = connect(dsn, **get_credentials(configuration)) cursor = connection.cursor() cursor.execute('SELECT * FROM {}'.format(table_name)) results = cursor.fetchall() assert results == [] cursor.execute('DROP TABLE {}'.format(table_name)) connection.commit()
def test_commit(dsn, configuration): table_name = unique_table_name() connection = connect(dsn, **get_credentials(configuration)) connection.cursor().execute(f"CREATE TABLE {table_name} (a INTEGER)") connection.commit() connection.close() connection = connect(dsn, **get_credentials(configuration)) cursor = connection.cursor() cursor.execute(f"SELECT * FROM {table_name}") results = cursor.fetchall() assert results == [] cursor.execute(f"DROP TABLE {table_name}") connection.commit()
def test_commit(dsn, configuration): table_name = unique_table_name() connection = connect(dsn, **get_credentials(configuration)) connection.cursor().execute('CREATE TABLE {} (a INTEGER)'.format(table_name)) connection.commit() connection.close() connection = connect(dsn, **get_credentials(configuration)) cursor = connection.cursor() cursor.execute('SELECT * FROM {}'.format(table_name)) results = cursor.fetchall() assert results == [] cursor.execute('DROP TABLE {}'.format(table_name)) connection.commit()
def test_autocommit_switching(dsn, configuration): table_name = unique_table_name() connection = connect(dsn, **get_credentials(configuration)) connection.autocommit = True # <--- connection.cursor().execute('CREATE TABLE {} (a INTEGER)'.format(table_name)) connection.close() options = make_options(autocommit=True) connection = connect(dsn, turbodbc_options=options, **get_credentials(configuration)) connection.autocommit = False # <--- connection.cursor().execute('INSERT INTO {} VALUES (?)'.format(table_name), [42]) connection.close() # table is there, but data was not persisted connection = connect(dsn, **get_credentials(configuration)) cursor = connection.cursor() cursor.execute('SELECT * FROM {}'.format(table_name)) results = cursor.fetchall() assert results == [] cursor.execute('DROP TABLE {}'.format(table_name)) connection.commit()