32 lines
866 B
Python
32 lines
866 B
Python
"""Test bootstrap.
|
|
|
|
Runs the suite against a throwaway in-memory SQLite database and the tiny
|
|
fixture catalog, so no PostgreSQL server is needed. Environment variables must
|
|
be set before any app module is imported, because config reads them at import
|
|
time.
|
|
"""
|
|
import os
|
|
|
|
os.environ["DATA_DIR"] = os.path.join(os.path.dirname(__file__), "fixtures")
|
|
os.environ["DATABASE_URL"] = "sqlite://"
|
|
os.environ["AUTO_INIT_DB"] = "false"
|
|
os.environ["COOKIE_SECURE"] = "false"
|
|
|
|
import pytest # noqa: E402
|
|
|
|
from app import db # noqa: E402
|
|
from app.models import Base # noqa: E402
|
|
|
|
|
|
@pytest.fixture(autouse=True)
|
|
def fresh_db():
|
|
"""Give every test an empty schema and a clean login throttle."""
|
|
engine = db.get_engine()
|
|
Base.metadata.drop_all(bind=engine)
|
|
Base.metadata.create_all(bind=engine)
|
|
|
|
from app.auth import throttle
|
|
|
|
throttle.clear()
|
|
yield
|