diff --git a/aurweb/testing.py b/aurweb/testing/__init__.py similarity index 93% rename from aurweb/testing.py rename to aurweb/testing/__init__.py index 7516d918..0a807b40 100644 --- a/aurweb/testing.py +++ b/aurweb/testing/__init__.py @@ -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) diff --git a/aurweb/testing/models.py b/aurweb/testing/models.py new file mode 100644 index 00000000..8a27c409 --- /dev/null +++ b/aurweb/testing/models.py @@ -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 diff --git a/aurweb/testing/requests.py b/aurweb/testing/requests.py new file mode 100644 index 00000000..2839c93f --- /dev/null +++ b/aurweb/testing/requests.py @@ -0,0 +1,8 @@ +class Client: + host = "127.0.0.1" + + +class Request: + client = Client() + cookies = dict() + headers = dict() diff --git a/test/test_l10n.py b/test/test_l10n.py index 1a1ef3e6..e833cd44 100644 --- a/test/test_l10n.py +++ b/test/test_l10n.py @@ -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"