test_defaults.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. from __future__ import absolute_import
  2. import sys
  3. from importlib import import_module
  4. from mock import Mock, patch
  5. from celery.app.defaults import NAMESPACES
  6. from celery.tests.case import AppCase, pypy_version, sys_platform
  7. class test_defaults(AppCase):
  8. def setup(self):
  9. self._prev = sys.modules.pop('celery.app.defaults', None)
  10. def teardown(self):
  11. if self._prev:
  12. sys.modules['celery.app.defaults'] = self._prev
  13. def test_option_repr(self):
  14. self.assertTrue(repr(NAMESPACES['BROKER']['URL']))
  15. def test_any(self):
  16. val = object()
  17. self.assertIs(self.defaults.Option.typemap['any'](val), val)
  18. def test_default_pool_pypy_14(self):
  19. with sys_platform('darwin'):
  20. with pypy_version((1, 4, 0)):
  21. self.assertEqual(self.defaults.DEFAULT_POOL, 'solo')
  22. def test_default_pool_pypy_15(self):
  23. with sys_platform('darwin'):
  24. with pypy_version((1, 5, 0)):
  25. self.assertEqual(self.defaults.DEFAULT_POOL, 'prefork')
  26. def test_deprecated(self):
  27. source = Mock()
  28. source.CELERYD_LOG_LEVEL = 2
  29. with patch('celery.utils.warn_deprecated') as warn:
  30. self.defaults.find_deprecated_settings(source)
  31. self.assertTrue(warn.called)
  32. def test_default_pool_jython(self):
  33. with sys_platform('java 1.6.51'):
  34. self.assertEqual(self.defaults.DEFAULT_POOL, 'threads')
  35. def test_find(self):
  36. find = self.defaults.find
  37. self.assertEqual(find('server_email')[2].default, 'celery@localhost')
  38. self.assertEqual(find('default_queue')[2].default, 'celery')
  39. self.assertEqual(find('celery_default_exchange')[2], 'celery')
  40. @property
  41. def defaults(self):
  42. return import_module('celery.app.defaults')