Browse Source

unittests: Tyrant tests were never executed even if running

Ask Solem 14 years ago
parent
commit
b318e7aeea
2 changed files with 20 additions and 7 deletions
  1. 13 1
      celery/tests/config.py
  2. 7 6
      celery/tests/test_backends/test_redis.py

+ 13 - 1
celery/tests/config.py

@@ -1,4 +1,6 @@
-CARROT_BACKEND = "memory"
+import os
+
+BROKER_BACKEND = "memory"
 
 
 CELERY_RESULT_BACKEND = "database"
@@ -11,3 +13,13 @@ CELERY_DEFAULT_ROUTING_KEY = "testcelery"
 CELERY_QUEUES = {"testcelery": {"binding_key": "testcelery"}}
 
 CELERYD_LOG_COLOR = False
+
+# Tyrant results tests (only executed if installed and running)
+TT_HOST = os.environ.get("TT_HOST") or "localhost"
+TT_PORT = int(os.environ.get("TT_PORT") or 1978)
+
+# Redis results tests (only executed if installed and running)
+REDIS_HOST = os.environ.get("REDIS_HOST") or "localhost"
+REDIS_PORT = int(os.environ.get("REDIS_PORT") or 6379)
+REDIS_DB = os.environ.get("REDIS_DB") or 0
+REDIS_PASSWORD = os.environ.get("REDIS_PASSWORD")

+ 7 - 6
celery/tests/test_backends/test_redis.py

@@ -144,12 +144,13 @@ class TestTyrantBackendNoTyrant(unittest.TestCase):
 
     def test_constructor_raises_if_not_host_or_port(self):
         from celery.backends import pyredis
-        prev_host = pyredis.RedisBackend.redis_host
-        prev_port = pyredis.RedisBackend.redis_port
-        pyredis.RedisBackend.redis_host = None
-        pyredis.RedisBackend.redis_port = None
+        from celery.loaders import load_settings
+
+        settings = load_settings()
+        prev_host, settings.REDIS_HOST = settings.REDIS_HOST, None
+        prev_port, settings.REDIS_PORT = settings.REDIS_PORT, None
         try:
             self.assertRaises(ImproperlyConfigured, pyredis.RedisBackend)
         finally:
-            pyredis.RedisBackend.redis_host = prev_host
-            pyredis.RedisBackend.redis_port = prev_port
+            settings.REDIS_HOST = prev_host
+            settings.REDIS_PORT = prev_port