mirror of
https://github.com/tursodatabase/limbo.git
synced 2025-07-24 12:53:45 +00:00
66 lines
1.6 KiB
Python
66 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",
|
|
],
|
|
)
|
|
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")
|