1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from __future__ import absolute_import, unicode_literals
- import pytest
- from case import patch
- from celery import backends
- from celery.backends.amqp import AMQPBackend
- from celery.backends.cache import CacheBackend
- from celery.exceptions import ImproperlyConfigured
- class test_backends:
- @pytest.mark.parametrize('url,expect_cls', [
- ('amqp://', AMQPBackend),
- ('cache+memory://', CacheBackend),
- ])
- def test_get_backend_aliases(self, url, expect_cls, app):
- backend, url = backends.get_backend_by_url(url, app.loader)
- assert isinstance(backend(app=app, url=url), expect_cls)
- def test_unknown_backend(self, app):
- with pytest.raises(ImportError):
- backends.get_backend_cls('fasodaopjeqijwqe', app.loader)
- @pytest.mark.usefixtures('depends_on_current_app')
- def test_default_backend(self, app):
- assert backends.default_backend == app.backend
- def test_backend_by_url(self, app, url='redis://localhost/1'):
- from celery.backends.redis import RedisBackend
- backend, url_ = backends.get_backend_by_url(url, app.loader)
- assert backend is RedisBackend
- assert url_ == url
- def test_sym_raises_ValuError(self, app):
- with patch('celery.backends.symbol_by_name') as sbn:
- sbn.side_effect = ValueError()
- with pytest.raises(ImproperlyConfigured):
- backends.get_backend_cls('xxx.xxx:foo', app.loader)
|