Repository URL to install this package:
|
Version:
3.0.35 ▾
|
from __future__ import absolute_import
import socket
import sys
import types
from kombu import syn
from kombu.tests.case import Case, patch, module_exists
class test_syn(Case):
def test_compat(self):
self.assertEqual(syn.blocking(lambda: 10), 10)
syn.select_blocking_method('foo')
def test_detect_environment(self):
try:
syn._environment = None
X = syn.detect_environment()
self.assertEqual(syn._environment, X)
Y = syn.detect_environment()
self.assertEqual(Y, X)
finally:
syn._environment = None
@module_exists('eventlet', 'eventlet.patcher')
def test_detect_environment_eventlet(self):
with patch('eventlet.patcher.is_monkey_patched', create=True) as m:
self.assertTrue(sys.modules['eventlet'])
m.return_value = True
env = syn._detect_environment()
m.assert_called_with(socket)
self.assertEqual(env, 'eventlet')
@module_exists('gevent')
def test_detect_environment_gevent(self):
with patch('gevent.socket', create=True) as m:
prev, socket.socket = socket.socket, m.socket
try:
self.assertTrue(sys.modules['gevent'])
env = syn._detect_environment()
self.assertEqual(env, 'gevent')
finally:
socket.socket = prev
def test_detect_environment_no_eventlet_or_gevent(self):
try:
sys.modules['eventlet'] = types.ModuleType('eventlet')
sys.modules['eventlet.patcher'] = types.ModuleType('eventlet')
self.assertEqual(syn._detect_environment(), 'default')
finally:
sys.modules.pop('eventlet', None)
syn._detect_environment()
try:
sys.modules['gevent'] = types.ModuleType('gevent')
self.assertEqual(syn._detect_environment(), 'default')
finally:
sys.modules.pop('gevent', None)
syn._detect_environment()