mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
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:
parent
64bc93926f
commit
5185df629e
4 changed files with 41 additions and 14 deletions
|
@ -1,4 +1,4 @@
|
||||||
from aurweb.db import get_engine
|
import aurweb.db
|
||||||
|
|
||||||
|
|
||||||
def setup_test_db(*args):
|
def setup_test_db(*args):
|
||||||
|
@ -21,7 +21,7 @@ def setup_test_db(*args):
|
||||||
test_tables = ["Users", "Sessions"];
|
test_tables = ["Users", "Sessions"];
|
||||||
setup_test_db(*test_tables)
|
setup_test_db(*test_tables)
|
||||||
"""
|
"""
|
||||||
engine = get_engine()
|
engine = aurweb.db.get_engine()
|
||||||
conn = engine.connect()
|
conn = engine.connect()
|
||||||
|
|
||||||
tables = list(args)
|
tables = list(args)
|
25
aurweb/testing/models.py
Normal file
25
aurweb/testing/models.py
Normal 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
|
8
aurweb/testing/requests.py
Normal file
8
aurweb/testing/requests.py
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
class Client:
|
||||||
|
host = "127.0.0.1"
|
||||||
|
|
||||||
|
|
||||||
|
class Request:
|
||||||
|
client = Client()
|
||||||
|
cookies = dict()
|
||||||
|
headers = dict()
|
|
@ -1,13 +1,6 @@
|
||||||
""" Test our l10n module. """
|
""" Test our l10n module. """
|
||||||
from aurweb import l10n
|
from aurweb import l10n
|
||||||
|
from aurweb.testing.requests import Request
|
||||||
|
|
||||||
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())
|
|
||||||
|
|
||||||
|
|
||||||
def test_translator():
|
def test_translator():
|
||||||
|
@ -18,7 +11,7 @@ def test_translator():
|
||||||
|
|
||||||
def test_get_request_language():
|
def test_get_request_language():
|
||||||
""" First, tests default_lang, then tests a modified AURLANG cookie. """
|
""" First, tests default_lang, then tests a modified AURLANG cookie. """
|
||||||
request = FakeRequest()
|
request = Request()
|
||||||
assert l10n.get_request_language(request) == "en"
|
assert l10n.get_request_language(request) == "en"
|
||||||
|
|
||||||
request.cookies["AURLANG"] = "de"
|
request.cookies["AURLANG"] = "de"
|
||||||
|
@ -28,8 +21,8 @@ def test_get_request_language():
|
||||||
def test_get_raw_translator_for_request():
|
def test_get_raw_translator_for_request():
|
||||||
""" Make sure that get_raw_translator_for_request is giving us
|
""" Make sure that get_raw_translator_for_request is giving us
|
||||||
the translator we expect. """
|
the translator we expect. """
|
||||||
request = FakeRequest(cookies={"AURLANG": "de"})
|
request = Request()
|
||||||
|
request.cookies["AURLANG"] = "de"
|
||||||
translator = l10n.get_raw_translator_for_request(request)
|
translator = l10n.get_raw_translator_for_request(request)
|
||||||
assert translator.gettext("Home") == \
|
assert translator.gettext("Home") == \
|
||||||
l10n.translator.translate("Home", "de")
|
l10n.translator.translate("Home", "de")
|
||||||
|
@ -38,7 +31,8 @@ def test_get_raw_translator_for_request():
|
||||||
def test_get_translator_for_request():
|
def test_get_translator_for_request():
|
||||||
""" Make sure that get_translator_for_request is giving us back
|
""" Make sure that get_translator_for_request is giving us back
|
||||||
our expected translation function. """
|
our expected translation function. """
|
||||||
request = FakeRequest(cookies={"AURLANG": "de"})
|
request = Request()
|
||||||
|
request.cookies["AURLANG"] = "de"
|
||||||
|
|
||||||
translate = l10n.get_translator_for_request(request)
|
translate = l10n.get_translator_for_request(request)
|
||||||
assert translate("Home") == "Startseite"
|
assert translate("Home") == "Startseite"
|
||||||
|
|
Loading…
Add table
Reference in a new issue