File: test_middleware.py

package info (click to toggle)
python-socketio 5.12.1-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 1,140 kB
  • sloc: python: 11,460; makefile: 13; sh: 7
file content (38 lines) | stat: -rw-r--r-- 1,294 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
30
31
32
33
34
35
36
37
38
from unittest import mock

from socketio import middleware


class TestMiddleware:
    def test_wsgi_routing(self):
        mock_wsgi_app = mock.MagicMock()
        mock_sio_app = 'foo'
        m = middleware.Middleware(mock_sio_app, mock_wsgi_app)
        environ = {'PATH_INFO': '/foo'}
        start_response = "foo"
        m(environ, start_response)
        mock_wsgi_app.assert_called_once_with(environ, start_response)

    def test_sio_routing(self):
        mock_wsgi_app = 'foo'
        mock_sio_app = mock.Mock()
        mock_sio_app.handle_request = mock.MagicMock()
        m = middleware.Middleware(mock_sio_app, mock_wsgi_app)
        environ = {'PATH_INFO': '/socket.io/'}
        start_response = "foo"
        m(environ, start_response)
        mock_sio_app.handle_request.assert_called_once_with(
            environ, start_response
        )

    def test_404(self):
        mock_wsgi_app = None
        mock_sio_app = mock.Mock()
        m = middleware.Middleware(mock_sio_app, mock_wsgi_app)
        environ = {'PATH_INFO': '/foo/bar'}
        start_response = mock.MagicMock()
        r = m(environ, start_response)
        assert r == [b'Not Found']
        start_response.assert_called_once_with(
            "404 Not Found", [('Content-Type', 'text/plain')]
        )