Tests should no longer use the environment-variable-related-setup and set up in app...
authorChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 12 May 2013 20:55:59 +0000 (15:55 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Sun, 12 May 2013 20:55:59 +0000 (15:55 -0500)
This should remove a bunch of confusing cruft.  I hate using that
environment variable!  Also that old code was fragile.

This commit sponsored by Stephen Milton.  Thanks!

mediagoblin/init/celery/from_tests.py [deleted file]
mediagoblin/tests/__init__.py
mediagoblin/tests/test_mgoblin_app.ini
mediagoblin/tests/tools.py
runtests.sh

diff --git a/mediagoblin/init/celery/from_tests.py b/mediagoblin/init/celery/from_tests.py
deleted file mode 100644 (file)
index 3149e1b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011, 2012 MediaGoblin contributors.  See AUTHORS.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-import os
-
-from mediagoblin.tests.tools import TEST_APP_CONFIG
-from mediagoblin.init.celery.from_celery import setup_self
-
-
-OUR_MODULENAME = __name__
-CELERY_SETUP = False
-
-
-if os.environ.get('CELERY_CONFIG_MODULE') == OUR_MODULENAME:
-    if CELERY_SETUP:
-        pass
-    else:
-        setup_self(check_environ_for_conf=False, module_name=OUR_MODULENAME,
-                   default_conf_file=TEST_APP_CONFIG)
-        CELERY_SETUP = True
index 5a3235c651bee2ed149db6946e6d251f3b62588e..7a88281e05ebb1c741c28d41d66cbff4f1dee2ea 100644 (file)
@@ -18,12 +18,10 @@ import os
 import shutil
 
 from mediagoblin import mg_globals
-from mediagoblin.tests.tools import (
-    TEST_USER_DEV, suicide_if_bad_celery_environ)
+from mediagoblin.tests.tools import TEST_USER_DEV
 
 
 def setup_package():
-    suicide_if_bad_celery_environ()
 
     import warnings
     from sqlalchemy.exc import SAWarning
index 9f95a398f17b58f0ce3b78e2b24ca72b25546f86..8c668356d4344d34af51cc9700070a8a225018ff 100644 (file)
@@ -12,10 +12,6 @@ tags_max_length = 50
 # So we can start to test attachments:
 allow_attachments = True
 
-# Celery shouldn't be set up by the application as it's setup via
-# mediagoblin.init.celery.from_celery
-celery_setup_elsewhere = true
-
 media_types = mediagoblin.media_types.image, mediagoblin.media_types.pdf
 
 [storage:publicstore]
index 52635e18f699a6b25cf2a696890b94af07aeb2ee..794ed940a98bc2b8dad69d11f6c8b607eee20012 100644 (file)
@@ -33,7 +33,6 @@ from mediagoblin.db.base import Session
 from mediagoblin.meddleware import BaseMeddleware
 from mediagoblin.auth.lib import bcrypt_gen_password_hash
 from mediagoblin.gmg_commands.dbupdate import run_dbupdate
-from mediagoblin.init.celery import setup_celery_app
 
 
 MEDIAGOBLIN_TEST_DB_NAME = u'__mediagoblin_tests__'
@@ -47,16 +46,6 @@ TEST_USER_DEV = pkg_resources.resource_filename(
 
 USER_DEV_DIRECTORIES_TO_SETUP = ['media/public', 'media/queue']
 
-BAD_CELERY_MESSAGE = """\
-Sorry, you *absolutely* must run tests with the
-mediagoblin.init.celery.from_tests module.  Like so:
-
-$ CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_tests {0}
-""".format(sys.argv[0])
-
-
-class BadCeleryEnviron(Exception): pass
-
 
 class TestingMeddleware(BaseMeddleware):
     """
@@ -97,12 +86,6 @@ class TestingMeddleware(BaseMeddleware):
         return
 
 
-def suicide_if_bad_celery_environ():
-    if not os.environ.get('CELERY_CONFIG_MODULE') == \
-            'mediagoblin.init.celery.from_tests':
-        raise BadCeleryEnviron(BAD_CELERY_MESSAGE)
-
-
 def get_app(request, paste_config=None, mgoblin_config=None):
     """Create a MediaGoblin app for testing.
 
@@ -127,14 +110,6 @@ def get_app(request, paste_config=None, mgoblin_config=None):
     shutil.copyfile(paste_config, new_paste_config)
     shutil.copyfile(mgoblin_config, new_mgoblin_config)
 
-    suicide_if_bad_celery_environ()
-
-    # Make sure we've turned on testing
-    testing._activate_testing()
-
-    # Leave this imported as it sets up celery.
-    from mediagoblin.init.celery import from_tests
-
     Session.rollback()
     Session.remove()
 
@@ -154,9 +129,6 @@ def get_app(request, paste_config=None, mgoblin_config=None):
     test_app = loadapp(
         'config:' + new_paste_config)
 
-    # Re-setup celery
-    setup_celery_app(app_config, global_config)
-
     # Insert the TestingMeddleware, which can do some
     # sanity checks on every request/response.
     # Doing it this way is probably not the cleanest way.
index 382e2fa635dde71225c331300e495c074f7dda0c..00164a7831be95a6f421f73b0ba3da5c5a42d0aa 100755 (executable)
@@ -39,10 +39,6 @@ else
 fi
 
 
-CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_tests
-export CELERY_CONFIG_MODULE
-echo "+ CELERY_CONFIG_MODULE=$CELERY_CONFIG_MODULE"
-
 # Look to see if the user has specified a specific directory/file to
 # run tests out of.  If not we'll need to pass along
 # mediagoblin/tests/ later very specifically.  Otherwise py.test