Ask Solem преди 12 години
родител
ревизия
2d49db4a37
променени са 3 файла, в които са добавени 31 реда и са изтрити 38 реда
  1. 2 2
      celery/app/base.py
  2. 29 0
      celery/tests/app/test_app.py
  3. 0 36
      celery/tests/app/test_loaders.py

+ 2 - 2
celery/app/base.py

@@ -46,7 +46,7 @@ BUILTIN_FIXUPS = frozenset([
     'celery.fixups.django:fixup',
     'celery.fixups.django:fixup',
 ])
 ])
 
 
-ERROR_ENVVAR_NOT_SET = """\
+ERR_ENVVAR_NOT_SET = """\
 The environment variable {0!r} is not set,
 The environment variable {0!r} is not set,
 and as such the configuration could not be loaded.
 and as such the configuration could not be loaded.
 Please set this variable and make it point to
 Please set this variable and make it point to
@@ -253,7 +253,7 @@ class Celery(object):
         if not module_name:
         if not module_name:
             if silent:
             if silent:
                 return False
                 return False
-            raise ImproperlyConfigured(ERROR_ENVVAR_NOT_SET % module_name)
+            raise ImproperlyConfigured(ERR_ENVVAR_NOT_SET.format(module_name))
         return self.config_from_object(module_name, silent=silent)
         return self.config_from_object(module_name, silent=silent)
 
 
     def config_from_cmdline(self, argv, namespace='celery'):
     def config_from_cmdline(self, argv, namespace='celery'):

+ 29 - 0
celery/tests/app/test_app.py

@@ -11,6 +11,7 @@ from celery import Celery
 from celery import app as _app
 from celery import app as _app
 from celery import _state
 from celery import _state
 from celery.app import defaults
 from celery.app import defaults
+from celery.exceptions import ImproperlyConfigured
 from celery.five import items
 from celery.five import items
 from celery.loaders.base import BaseLoader
 from celery.loaders.base import BaseLoader
 from celery.platforms import pyimplementation
 from celery.platforms import pyimplementation
@@ -24,6 +25,13 @@ from celery.utils.mail import ErrorMail
 
 
 THIS_IS_A_KEY = 'this is a value'
 THIS_IS_A_KEY = 'this is a value'
 
 
+class ObjectConfig(object):
+    FOO = 1
+    BAR = 2
+
+object_config = ObjectConfig()
+dict_config = dict(FOO=10, BAR=20)
+
 
 
 class Object(object):
 class Object(object):
 
 
@@ -358,6 +366,27 @@ class test_App(Case):
         # not set as current, so ends up as default app after reduce
         # not set as current, so ends up as default app after reduce
         self.assertIs(r.app, _state.default_app)
         self.assertIs(r.app, _state.default_app)
 
 
+    def test_config_from_envvar_more(self, key='CELERY_HARNESS_CFG1'):
+        self.assertFalse(self.app.config_from_envvar('HDSAJIHWIQHEWQU',
+                                                     silent=True))
+        with self.assertRaises(ImproperlyConfigured):
+            self.app.config_from_envvar('HDSAJIHWIQHEWQU', silent=False)
+        os.environ[key] = __name__ + '.object_config'
+        self.assertTrue(self.app.config_from_envvar(key))
+        self.assertEqual(self.app.conf['FOO'], 1)
+        self.assertEqual(self.app.conf['BAR'], 2)
+
+        os.environ[key] = 'unknown_asdwqe.asdwqewqe'
+        with self.assertRaises(ImportError):
+            self.app.config_from_envvar(key, silent=False)
+        self.assertFalse(self.app.config_from_envvar(key, silent=True))
+
+        os.environ[key] = __name__ + '.dict_config'
+        self.assertTrue(self.app.config_from_envvar(key))
+        self.assertEqual(self.app.conf['FOO'], 10)
+        self.assertEqual(self.app.conf['BAR'], 20)
+
+
     @patch('celery.bin.celery.CeleryCommand.execute_from_commandline')
     @patch('celery.bin.celery.CeleryCommand.execute_from_commandline')
     def test_start(self, execute):
     def test_start(self, execute):
         self.app.start()
         self.app.start()

+ 0 - 36
celery/tests/app/test_loaders.py

@@ -10,7 +10,6 @@ from celery import loaders
 from celery.app import app_or_default
 from celery.app import app_or_default
 from celery.exceptions import (
 from celery.exceptions import (
     NotConfigured,
     NotConfigured,
-    ImproperlyConfigured,
     CPendingDeprecationWarning,
     CPendingDeprecationWarning,
 )
 )
 from celery.five import items
 from celery.five import items
@@ -23,21 +22,6 @@ from celery.utils.mail import SendmailWarning
 from celery.tests.utils import AppCase, Case
 from celery.tests.utils import AppCase, Case
 
 
 
 
-class ObjectConfig(object):
-    FOO = 1
-    BAR = 2
-
-object_config = ObjectConfig()
-dict_config = dict(FOO=10, BAR=20)
-
-
-class Object(object):
-
-    def __init__(self, **kwargs):
-        for k, v in items(kwargs):
-            setattr(self, k, v)
-
-
 class DummyLoader(base.BaseLoader):
 class DummyLoader(base.BaseLoader):
 
 
     def read_configuration(self):
     def read_configuration(self):
@@ -245,26 +229,6 @@ class test_AppLoader(Case):
         self.app = app_or_default()
         self.app = app_or_default()
         self.loader = AppLoader(app=self.app)
         self.loader = AppLoader(app=self.app)
 
 
-    def test_config_from_envvar(self, key='CELERY_HARNESS_CFG1'):
-        self.assertFalse(self.loader.config_from_envvar('HDSAJIHWIQHEWQU',
-                                                        silent=True))
-        with self.assertRaises(ImproperlyConfigured):
-            self.loader.config_from_envvar('HDSAJIHWIQHEWQU', silent=False)
-        os.environ[key] = __name__ + '.object_config'
-        self.assertTrue(self.loader.config_from_envvar(key))
-        self.assertEqual(self.loader.conf['FOO'], 1)
-        self.assertEqual(self.loader.conf['BAR'], 2)
-
-        os.environ[key] = 'unknown_asdwqe.asdwqewqe'
-        with self.assertRaises(ImportError):
-            self.loader.config_from_envvar(key, silent=False)
-        self.assertFalse(self.loader.config_from_envvar(key, silent=True))
-
-        os.environ[key] = __name__ + '.dict_config'
-        self.assertTrue(self.loader.config_from_envvar(key))
-        self.assertEqual(self.loader.conf['FOO'], 10)
-        self.assertEqual(self.loader.conf['BAR'], 20)
-
     def test_on_worker_init(self):
     def test_on_worker_init(self):
         prev, self.app.conf.CELERY_IMPORTS = (
         prev, self.app.conf.CELERY_IMPORTS = (
             self.app.conf.CELERY_IMPORTS, ('subprocess', ))
             self.app.conf.CELERY_IMPORTS, ('subprocess', ))