Example #1
0
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()
Example #2
0
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}")
Example #3
0
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))
Example #4
0
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()
Example #5
0
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()
Example #6
0
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()
Example #7
0
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()