ci: integrate pyo3

ci: add manylinux

fix: maturin build error

ci: add wheels upload

ci: use venv
This commit is contained in:
JeanArhancet 2024-08-19 16:35:14 +02:00
parent 93964c6655
commit fc2962e04e
9 changed files with 134 additions and 55 deletions

View file

@ -5,53 +5,54 @@ import pytest
import limbo
@pytest.mark.parametrize("provider", ["sqlite3", "limbo"])
@pytest.mark.parametrize('provider', ['sqlite3', 'limbo'])
def test_fetchall_select_all_users(provider):
conn = connect(provider, "tests/database.db")
conn = connect(provider, 'tests/database.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
cursor.execute('SELECT * FROM users')
users = cursor.fetchall()
assert users
assert users == [(1, "alice"), (2, "bob")]
assert users == [(1, 'alice'), (2, 'bob')]
@pytest.mark.parametrize(
"provider",
'provider',
[
"sqlite3",
'sqlite3',
'limbo'
],
)
def test_fetchall_select_user_ids(provider):
conn = connect(provider, "tests/database.db")
conn = connect(provider, 'tests/database.db')
cursor = conn.cursor()
cursor.execute("SELECT id FROM users")
cursor.execute('SELECT id FROM users')
user_ids = cursor.fetchall()
assert user_ids
assert user_ids == [(1,), (2,)]
@pytest.mark.parametrize("provider", ["sqlite3", "limbo"])
@pytest.mark.parametrize('provider', ['sqlite3', 'limbo'])
def test_fetchone_select_all_users(provider):
conn = connect(provider, "tests/database.db")
conn = connect(provider, 'tests/database.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
cursor.execute('SELECT * FROM users')
alice = cursor.fetchone()
assert alice
assert alice == (1, "alice")
assert alice == (1, 'alice')
bob = cursor.fetchone()
assert bob
assert bob == (2, "bob")
assert bob == (2, 'bob')
@pytest.mark.parametrize("provider", ["sqlite3", "limbo"])
@pytest.mark.parametrize('provider', ['sqlite3', 'limbo'])
def test_fetchone_select_max_user_id(provider):
conn = connect(provider, "tests/database.db")
conn = connect(provider, 'tests/database.db')
cursor = conn.cursor()
cursor.execute("SELECT MAX(id) FROM users")
cursor.execute('SELECT MAX(id) FROM users')
max_id = cursor.fetchone()
assert max_id
@ -59,8 +60,8 @@ def test_fetchone_select_max_user_id(provider):
def connect(provider, database):
if provider == "limbo":
if provider == 'limbo':
return limbo.connect(database)
if provider == "sqlite3":
if provider == 'sqlite3':
return sqlite3.connect(database)
raise Exception(f"Provider `{provider}` is not supported")
raise Exception(f'Provider `{provider}` is not supported')