mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-18 17:14:20 +01:00
68 lines
1.6 KiB
Python
68 lines
1.6 KiB
Python
import sqlite3
|
|
|
|
import pytest
|
|
|
|
import limbo
|
|
|
|
|
|
@pytest.mark.parametrize('provider', ['sqlite3', 'limbo'])
|
|
def test_fetchall_select_all_users(provider):
|
|
conn = connect(provider, 'tests/database.db')
|
|
cursor = conn.cursor()
|
|
cursor.execute('SELECT * FROM users')
|
|
|
|
users = cursor.fetchall()
|
|
assert users
|
|
assert users == [(1, 'alice'), (2, 'bob')]
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
'provider',
|
|
[
|
|
'sqlite3',
|
|
'limbo'
|
|
],
|
|
)
|
|
def test_fetchall_select_user_ids(provider):
|
|
conn = connect(provider, 'tests/database.db')
|
|
cursor = conn.cursor()
|
|
cursor.execute('SELECT id FROM users')
|
|
|
|
user_ids = cursor.fetchall()
|
|
assert user_ids
|
|
assert user_ids == [(1,), (2,)]
|
|
|
|
|
|
@pytest.mark.parametrize('provider', ['sqlite3', 'limbo'])
|
|
def test_fetchone_select_all_users(provider):
|
|
conn = connect(provider, 'tests/database.db')
|
|
cursor = conn.cursor()
|
|
cursor.execute('SELECT * FROM users')
|
|
|
|
alice = cursor.fetchone()
|
|
assert alice
|
|
assert alice == (1, 'alice')
|
|
|
|
bob = cursor.fetchone()
|
|
assert bob
|
|
assert bob == (2, 'bob')
|
|
|
|
|
|
@pytest.mark.parametrize('provider', ['sqlite3', 'limbo'])
|
|
def test_fetchone_select_max_user_id(provider):
|
|
conn = connect(provider, 'tests/database.db')
|
|
cursor = conn.cursor()
|
|
cursor.execute('SELECT MAX(id) FROM users')
|
|
|
|
max_id = cursor.fetchone()
|
|
assert max_id
|
|
assert max_id == (2,)
|
|
|
|
|
|
def connect(provider, database):
|
|
if provider == 'limbo':
|
|
return limbo.connect(database)
|
|
if provider == 'sqlite3':
|
|
return sqlite3.connect(database)
|
|
raise Exception(f'Provider `{provider}` is not supported')
|