flo-token-tracking/py3/lib/python3.6/site-packages/tests/test_async_eventlet.py

31 lines
931 B
Python

import logging
import unittest
import six
if six.PY3:
from unittest import mock
else:
import mock
from engineio.async_drivers import eventlet as async_eventlet
class TestAsyncEventlet(unittest.TestCase):
def setUp(self):
logging.getLogger('engineio').setLevel(logging.NOTSET)
def test_bad_environ(self):
wsgi = async_eventlet.WebSocketWSGI(None)
environ = {'foo': 'bar'}
start_response = 'bar'
self.assertRaises(RuntimeError, wsgi, environ, start_response)
@mock.patch('engineio.async_drivers.eventlet._WebSocketWSGI.__call__',
return_value='data')
def test_wsgi_call(self, _WebSocketWSGI):
_WebSocketWSGI.__call__ = lambda e, s: 'data'
environ = {'eventlet.input': mock.MagicMock()}
start_response = 'bar'
wsgi = async_eventlet.WebSocketWSGI(None)
self.assertEqual(wsgi(environ, start_response), 'data')