aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/util.py')
-rw-r--r--mediagoblin/util.py40
1 files changed, 30 insertions, 10 deletions
diff --git a/mediagoblin/util.py b/mediagoblin/util.py
index a0a09adf..f29f8570 100644
--- a/mediagoblin/util.py
+++ b/mediagoblin/util.py
@@ -31,7 +31,7 @@ import translitcodec
from paste.deploy.loadwsgi import NicerConfigParser
from webob import Response, exc
-from mediagoblin import globals as mgoblin_globals
+from mediagoblin import mg_globals
from mediagoblin.db.util import ObjectId
@@ -44,6 +44,26 @@ def _activate_testing():
TESTS_ENABLED = True
+def clear_test_buckets():
+ """
+ We store some things for testing purposes that should be cleared
+ when we want a "clean slate" of information for our next round of
+ tests. Call this function to wipe all that stuff clean.
+
+ Also wipes out some other things we might redefine during testing,
+ like the jinja envs.
+ """
+ global SETUP_JINJA_ENVS
+ SETUP_JINJA_ENVS = {}
+
+ global EMAIL_TEST_INBOX
+ global EMAIL_TEST_MBOX_INBOX
+ EMAIL_TEST_INBOX = []
+ EMAIL_TEST_MBOX_INBOX = []
+
+ clear_test_template_context()
+
+
def get_jinja_loader(user_template_path=None):
"""
Set up the Jinja template loaders, possibly allowing for user
@@ -82,8 +102,8 @@ def get_jinja_env(template_loader, locale):
extensions=['jinja2.ext.i18n'])
template_env.install_gettext_callables(
- mgoblin_globals.translations.gettext,
- mgoblin_globals.translations.ngettext)
+ mg_globals.translations.gettext,
+ mg_globals.translations.ngettext)
if exists(locale):
SETUP_JINJA_ENVS[locale] = template_env
@@ -95,7 +115,7 @@ def get_jinja_env(template_loader, locale):
TEMPLATE_TEST_CONTEXT = {}
-def render_template(request, template, context):
+def render_template(request, template_path, context):
"""
Render a template with context.
@@ -103,12 +123,12 @@ def render_template(request, template, context):
Also stores the context if we're doing unit tests. Helpful!
"""
template = request.template_env.get_template(
- template)
+ template_path)
context['request'] = request
rendered = template.render(context)
if TESTS_ENABLED:
- TEMPLATE_TEST_CONTEXT[template] = context
+ TEMPLATE_TEST_CONTEXT[template_path] = context
return rendered
@@ -244,9 +264,9 @@ def send_email(from_addr, to_addrs, subject, message_body):
- message_body: email body text
"""
# TODO: make a mock mhost if testing is enabled
- if TESTS_ENABLED or mgoblin_globals.email_debug_mode:
+ if TESTS_ENABLED or mg_globals.email_debug_mode:
mhost = FakeMhost()
- elif not mgoblin_globals.email_debug_mode:
+ elif not mg_globals.email_debug_mode:
mhost = smtplib.SMTP()
mhost.connect()
@@ -259,7 +279,7 @@ def send_email(from_addr, to_addrs, subject, message_body):
if TESTS_ENABLED:
EMAIL_TEST_INBOX.append(message)
- if getattr(mgoblin_globals, 'email_debug_mode', False):
+ if getattr(mg_globals, 'email_debug_mode', False):
print u"===== Email ====="
print u"From address: %s" % message['From']
print u"To addresses: %s" % message['To']
@@ -373,7 +393,7 @@ def setup_gettext(locale):
if exists(locale):
SETUP_GETTEXTS[locale] = this_gettext
- mgoblin_globals.setup_globals(
+ mg_globals.setup_globals(
translations=this_gettext)