File: test_async_eventlet.py

package info (click to toggle)
python-engineio 4.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 772 kB
  • sloc: python: 9,613; makefile: 4; sh: 3
file content (29 lines) | stat: -rw-r--r-- 906 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import logging
import unittest
from unittest import mock

from engineio.async_drivers import eventlet as async_eventlet
import pytest


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'
        with pytest.raises(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)
        assert wsgi(environ, start_response) == 'data'