source/projects/tentacles/test/python/conftest.py

51 lines
972 B
Python
Raw Normal View History

2023-05-13 22:58:17 +00:00
#!/usr/bin/env python3
from datetime import timedelta
import pytest
2023-06-03 21:09:50 +00:00
from tentacles.db import Db
2023-05-13 22:58:17 +00:00
@pytest.yield_fixture
2023-06-03 21:09:50 +00:00
def db():
conn = Db(":memory:")
2023-05-13 22:58:17 +00:00
conn.connect()
yield conn
conn.close()
@pytest.fixture
def username_testy():
return "testy@test.com"
@pytest.fixture
def password_testy():
return "testpw"
@pytest.fixture
2023-06-03 21:09:50 +00:00
def uid_testy(db: Db, username_testy, password_testy):
with db.savepoint():
return db.try_create_user(
2023-06-03 19:20:05 +00:00
username=username_testy,
email=username_testy,
password=password_testy,
sid=1,
).id
2023-05-13 22:58:17 +00:00
@pytest.fixture
def login_ttl():
return timedelta(hours=12)
@pytest.fixture
2023-06-03 21:09:50 +00:00
def sid_testy(db: Db, uid_testy, username_testy, password_testy, login_ttl):
with db.savepoint():
res = db.try_login(
2023-06-03 19:20:05 +00:00
username=username_testy, password=password_testy, ttl=login_ttl
2023-06-03 21:09:50 +00:00
)
assert res.user_id == uid_testy
return res.id