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
|