Browse Source

Merge branch 'ryanpetrello/master'

Ask Solem 14 years ago
parent
commit
e9a5c8e833
3 changed files with 14 additions and 2 deletions
  1. 2 1
      celery/app/base.py
  2. 1 0
      celery/app/defaults.py
  3. 11 1
      celery/tests/test_app/test_app.py

+ 2 - 1
celery/app/base.py

@@ -167,7 +167,8 @@ class BaseApp(object):
                     insist=self.either("BROKER_INSIST", insist),
                     ssl=self.either("BROKER_USE_SSL", ssl),
                     connect_timeout=self.either(
-                                "BROKER_CONNECTION_TIMEOUT", connect_timeout))
+                                "BROKER_CONNECTION_TIMEOUT", connect_timeout),
+                    transport_options=self.conf.BROKER_TRANSPORT_OPTIONS)
 
     def with_default_connection(self, fun):
         """With any function accepting `connection` and `connect_timeout`

+ 1 - 0
celery/app/defaults.py

@@ -52,6 +52,7 @@ NAMESPACES = {
         "CONNECTION_MAX_RETRIES": Option(100, type="int"),
         "INSIST": Option(False, type="bool"),
         "USE_SSL": Option(False, type="bool"),
+        "TRANSPORT_OPTIONS": Option({}, type="dict")
     },
     "CELERY": {
         "ACKS_LATE": Option(False, type="bool"),

+ 11 - 1
celery/tests/test_app/test_app.py

@@ -93,7 +93,7 @@ class test_App(unittest.TestCase):
         self.assertTrue(self.app.conf.MOMENT_TO_STOP)
         self.assertEqual(self.app.conf.CALL_ME_BACK, 123456789)
         self.assertFalse(self.app.conf.WANT_ME_TO)
-        self.assertTrue(self.app.conf.UNDERSTAND_ME)
+        self.assertTrue(self.app.conf.UNDERSTAND_ME)        
 
     def test_config_from_cmdline(self):
         cmdline = [".always_eager=no",
@@ -118,6 +118,16 @@ class test_App(unittest.TestCase):
 
         self.app.config_from_object(Object(CELERY_BACKEND="set_by_us"))
         self.assertEqual(self.app.conf.CELERY_RESULT_BACKEND, "set_by_us")
+        
+    def test_setting_BROKER_TRANSPORT_OPTIONS(self):
+
+        _args = {'foo': 'bar', 'spam': 'baz'}
+
+        self.app.config_from_object(Object())
+        self.assertEqual(self.app.conf.BROKER_TRANSPORT_OPTIONS, {})
+
+        self.app.config_from_object(Object(BROKER_TRANSPORT_OPTIONS=_args))
+        self.assertEqual(self.app.conf.BROKER_TRANSPORT_OPTIONS, _args)        
 
     def test_Windows_log_color_disabled(self):
         self.app.IS_WINDOWS = True