move aurweb.testing to its own package

+ Added aurweb.testing.setup_test_db(*tables)
+ Added aurweb.testing.models.make_user(**kwargs)
+ Added aurweb.testing.models.make_session(**kwargs)
+ Added aurweb.testing.requests.Client
+ Added aurweb.testing.requests.Request
* Updated test_l10n.py to use our new Request

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2020-12-24 20:48:35 -08:00
parent 64bc93926f
commit 5185df629e
4 changed files with 41 additions and 14 deletions

View file

@ -1,4 +1,4 @@
from aurweb.db import get_engine
import aurweb.db
def setup_test_db(*args):
@ -21,7 +21,7 @@ def setup_test_db(*args):
test_tables = ["Users", "Sessions"];
setup_test_db(*test_tables)
"""
engine = get_engine()
engine = aurweb.db.get_engine()
conn = engine.connect()
tables = list(args)

25
aurweb/testing/models.py Normal file
View file

@ -0,0 +1,25 @@
import warnings
from sqlalchemy import exc
import aurweb.db
def make_user(**kwargs):
with warnings.catch_warnings():
warnings.simplefilter("ignore", exc.SAWarning)
from aurweb.models.user import User
user = User(**kwargs)
aurweb.db.session.add(user)
aurweb.db.session.commit()
return user
def make_session(**kwargs):
with warnings.catch_warnings():
warnings.simplefilter("ignore", exc.SAWarning)
from aurweb.models.session import Session
session = Session(**kwargs)
aurweb.db.session.add(session)
aurweb.db.session.commit()
return session

View file

@ -0,0 +1,8 @@
class Client:
host = "127.0.0.1"
class Request:
client = Client()
cookies = dict()
headers = dict()

View file

@ -1,13 +1,6 @@
""" Test our l10n module. """
from aurweb import l10n
class FakeRequest:
""" A fake Request doppleganger; use this to change request.cookies
easily and with no side-effects. """
def __init__(self, *args, **kwargs):
self.cookies = kwargs.pop("cookies", dict())
from aurweb.testing.requests import Request
def test_translator():
@ -18,7 +11,7 @@ def test_translator():
def test_get_request_language():
""" First, tests default_lang, then tests a modified AURLANG cookie. """
request = FakeRequest()
request = Request()
assert l10n.get_request_language(request) == "en"
request.cookies["AURLANG"] = "de"
@ -28,8 +21,8 @@ def test_get_request_language():
def test_get_raw_translator_for_request():
""" Make sure that get_raw_translator_for_request is giving us
the translator we expect. """
request = FakeRequest(cookies={"AURLANG": "de"})
request = Request()
request.cookies["AURLANG"] = "de"
translator = l10n.get_raw_translator_for_request(request)
assert translator.gettext("Home") == \
l10n.translator.translate("Home", "de")
@ -38,7 +31,8 @@ def test_get_raw_translator_for_request():
def test_get_translator_for_request():
""" Make sure that get_translator_for_request is giving us back
our expected translation function. """
request = FakeRequest(cookies={"AURLANG": "de"})
request = Request()
request.cookies["AURLANG"] = "de"
translate = l10n.get_translator_for_request(request)
assert translate("Home") == "Startseite"