Open
Description
I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolation
- because I'm calling
build
with--no-isolation
I'm using during all processes only locally installed modules - install .whl file in </install/prefix> using 'installer` module
- run pytest with $PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>
- build is performed in env which is
cut off from access to the public network
(pytest is executed with-m "not network"
)
Here is pytest output:
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-socketio-5.10.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-socketio-5.10.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
rootdir: /home/tkloczko/rpmbuild/BUILD/python-socketio-5.10.0
collected 570 items
tests/async/test_admin.py FF.....F.. [ 1%]
tests/async/test_client.py ............................................. [ 9%]
.......................... [ 14%]
tests/async/test_manager.py .............................. [ 19%]
tests/async/test_namespace.py ..................... [ 23%]
tests/async/test_pubsub_manager.py .................................. [ 29%]
tests/async/test_server.py ............................................. [ 37%]
............................ [ 41%]
tests/async/test_simple_client.py ................ [ 44%]
tests/common/test_admin.py FF....F.. [ 46%]
tests/common/test_client.py ............................................ [ 54%]
........................................ [ 61%]
tests/common/test_manager.py ............................... [ 66%]
tests/common/test_middleware.py ... [ 67%]
tests/common/test_msgpack_packet.py .... [ 67%]
tests/common/test_namespace.py .................. [ 70%]
tests/common/test_packet.py ...................................... [ 77%]
tests/common/test_pubsub_manager.py .................................... [ 83%]
[ 83%]
tests/common/test_server.py ............................................ [ 91%]
................................ [ 97%]
tests/common/test_simple_client.py ................ [100%]
=================================== FAILURES ===================================
_________________ TestAsyncAdmin.test_admin_connect_only_admin _________________
self = <tests.async.test_admin.TestAsyncAdmin testMethod=test_admin_connect_only_admin>
isvr = <socketio.async_admin.InstrumentedAsyncServer object at 0x7f99b62f9f40>
@with_instrumented_server()
def test_admin_connect_only_admin(self, isvr):
with socketio.SimpleClient() as admin_client:
admin_client.connect('http://localhost:8900', namespace='/admin')
sid = admin_client.sid
expected = ['config', 'all_sockets', 'server_stats']
events = {}
while expected:
data = admin_client.receive(timeout=5)
if data[0] in expected:
events[data[0]] = data[1]
expected.remove(data[0])
assert 'supportedFeatures' in events['config']
assert 'ALL_EVENTS' in events['config']['supportedFeatures']
assert 'AGGREGATED_EVENTS' in events['config']['supportedFeatures']
assert 'EMIT' in events['config']['supportedFeatures']
assert len(events['all_sockets']) == 1
assert events['all_sockets'][0]['id'] == sid
assert events['all_sockets'][0]['rooms'] == [sid]
assert events['server_stats']['clientsCount'] == 1
> assert events['server_stats']['pollingClientsCount'] == 0
E assert 1 == 0
tests/async/test_admin.py:187: AssertionError
----------------------------- Captured stdout call -----------------------------
threads at start: [<_MainThread(MainThread, started 140298428958528)>]
INFO: 127.0.0.1:39914 - "GET / HTTP/1.1" 200 OK
INFO: 127.0.0.1:39926 - "GET /socket.io/?transport=polling&EIO=4&t=1698930315.8678105 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39926 - "POST /socket.io/?transport=polling&EIO=4&sid=6OQfQboDd74Ayw0cAAAA HTTP/1.1" 200 OK
INFO: 127.0.0.1:39938 - "GET /socket.io/?transport=polling&EIO=4&sid=6OQfQboDd74Ayw0cAAAA&t=1698930315.8764062 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39938 - "GET /socket.io/?transport=polling&EIO=4&sid=6OQfQboDd74Ayw0cAAAA&t=1698930315.8875527 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39938 - "GET /socket.io/?transport=polling&EIO=4&sid=6OQfQboDd74Ayw0cAAAA&t=1698930315.9865756 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39938 - "GET /socket.io/?transport=polling&EIO=4&sid=6OQfQboDd74Ayw0cAAAA&t=1698930315.9940076 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39938 - "POST /socket.io/?transport=polling&EIO=4&sid=6OQfQboDd74Ayw0cAAAA HTTP/1.1" 200 OK
INFO: 127.0.0.1:39926 - "GET /socket.io/?transport=polling&EIO=4&sid=6OQfQboDd74Ayw0cAAAA&t=1698930316.1271572 HTTP/1.1" 200 OK
threads at end: [<_MainThread(MainThread, started 140298428958528)>]
----------------------------- Captured stderr call -----------------------------
INFO: Started server process [57042]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8900 (Press CTRL+C to quit)
websocket-client package not installed, only polling transport is available
INFO: Shutting down
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
INFO: Finished server process [57042]
------------------------------ Captured log call -------------------------------
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
_________________ TestAsyncAdmin.test_admin_connect_production _________________
self = <tests.async.test_admin.TestAsyncAdmin testMethod=test_admin_connect_production>
isvr = <socketio.async_admin.InstrumentedAsyncServer object at 0x7f99b613d7f0>
@with_instrumented_server(mode='production', read_only=True)
def test_admin_connect_production(self, isvr):
with socketio.SimpleClient() as admin_client:
admin_client.connect('http://localhost:8900', namespace='/admin')
expected = ['config', 'server_stats']
events = {}
while expected:
data = admin_client.receive(timeout=5)
if data[0] in expected:
events[data[0]] = data[1]
expected.remove(data[0])
assert 'supportedFeatures' in events['config']
assert 'ALL_EVENTS' not in events['config']['supportedFeatures']
assert 'AGGREGATED_EVENTS' in events['config']['supportedFeatures']
assert 'EMIT' not in events['config']['supportedFeatures']
assert events['server_stats']['clientsCount'] == 1
> assert events['server_stats']['pollingClientsCount'] == 0
E assert 1 == 0
tests/async/test_admin.py:268: AssertionError
----------------------------- Captured stdout call -----------------------------
threads at start: [<_MainThread(MainThread, started 140298428958528)>]
INFO: 127.0.0.1:39960 - "GET / HTTP/1.1" 200 OK
INFO: 127.0.0.1:39972 - "GET /socket.io/?transport=polling&EIO=4&t=1698930316.6057374 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39972 - "POST /socket.io/?transport=polling&EIO=4&sid=4W4vxxQeeKLG2hiEAAAA HTTP/1.1" 200 OK
INFO: 127.0.0.1:39974 - "GET /socket.io/?transport=polling&EIO=4&sid=4W4vxxQeeKLG2hiEAAAA&t=1698930316.6187785 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39974 - "GET /socket.io/?transport=polling&EIO=4&sid=4W4vxxQeeKLG2hiEAAAA&t=1698930316.6289947 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39974 - "GET /socket.io/?transport=polling&EIO=4&sid=4W4vxxQeeKLG2hiEAAAA&t=1698930316.7273962 HTTP/1.1" 200 OK
INFO: 127.0.0.1:39974 - "POST /socket.io/?transport=polling&EIO=4&sid=4W4vxxQeeKLG2hiEAAAA HTTP/1.1" 200 OK
INFO: 127.0.0.1:39972 - "GET /socket.io/?transport=polling&EIO=4&sid=4W4vxxQeeKLG2hiEAAAA&t=1698930316.8696787 HTTP/1.1" 500 Internal Server Error
threads at end: [<_MainThread(MainThread, started 140298428958528)>]
----------------------------- Captured stderr call -----------------------------
INFO: Started server process [57042]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8900 (Press CTRL+C to quit)
websocket-client package not installed, only polling transport is available
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 408, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/usr/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
return await self.app(scope, receive, send)
File "/usr/lib/python3.8/site-packages/engineio/async_drivers/asgi.py", line 58, in __call__
await self.engineio_server.handle_request(scope, receive, send)
File "/home/tkloczko/rpmbuild/BUILDROOT/python-socketio-5.10.0-2.fc35.x86_64/usr/lib/python3.8/site-packages/socketio/async_server.py", line 441, in handle_request
return await self.eio.handle_request(*args, **kwargs)
File "/usr/lib/python3.8/site-packages/engineio/async_server.py", line 278, in handle_request
socket = self._get_socket(sid)
File "/usr/lib/python3.8/site-packages/engineio/base_server.py", line 229, in _get_socket
raise KeyError('Session is disconnected')
KeyError: 'Session is disconnected'
INFO: Shutting down
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
INFO: Finished server process [57042]
------------------------------ Captured log call -------------------------------
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
________________ TestAsyncAdmin.test_admin_connect_with_others _________________
self = <tests.async.test_admin.TestAsyncAdmin testMethod=test_admin_connect_with_others>
isvr = <socketio.async_admin.InstrumentedAsyncServer object at 0x7f99b667a520>
@with_instrumented_server()
def test_admin_connect_with_others(self, isvr):
with socketio.SimpleClient() as client1, \
socketio.SimpleClient() as client2, \
socketio.SimpleClient() as client3, \
socketio.SimpleClient() as admin_client:
client1.connect('http://localhost:8900')
client1.emit('enter_room', 'room')
sid1 = client1.sid
saved_check_for_upgrade = isvr._check_for_upgrade
isvr._check_for_upgrade = AsyncMock()
client2.connect('http://localhost:8900', namespace='/foo',
transports=['polling'])
sid2 = client2.sid
isvr._check_for_upgrade = saved_check_for_upgrade
client3.connect('http://localhost:8900', namespace='/admin')
sid3 = client3.sid
admin_client.connect('http://localhost:8900', namespace='/admin')
sid = admin_client.sid
expected = ['config', 'all_sockets', 'server_stats']
events = {}
while expected:
data = admin_client.receive(timeout=5)
if data[0] in expected:
events[data[0]] = data[1]
expected.remove(data[0])
assert 'supportedFeatures' in events['config']
assert 'ALL_EVENTS' in events['config']['supportedFeatures']
assert 'AGGREGATED_EVENTS' in events['config']['supportedFeatures']
assert 'EMIT' in events['config']['supportedFeatures']
assert len(events['all_sockets']) == 4
assert events['server_stats']['clientsCount'] == 4
> assert events['server_stats']['pollingClientsCount'] == 1
E assert 4 == 1
tests/async/test_admin.py:232: AssertionError
----------------------------- Captured stdout call -----------------------------
threads at start: [<_MainThread(MainThread, started 140298428958528)>]
INFO: 127.0.0.1:35248 - "GET / HTTP/1.1" 200 OK
INFO: 127.0.0.1:35254 - "GET /socket.io/?transport=polling&EIO=4&t=1698930518.7994537 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35254 - "POST /socket.io/?transport=polling&EIO=4&sid=DHipojRhQBVzKVf7AAAA HTTP/1.1" 200 OK
INFO: 127.0.0.1:35258 - "GET /socket.io/?transport=polling&EIO=4&sid=DHipojRhQBVzKVf7AAAA&t=1698930518.8143053 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35254 - "POST /socket.io/?transport=polling&EIO=4&sid=DHipojRhQBVzKVf7AAAA HTTP/1.1" 200 OK
INFO: 127.0.0.1:35270 - "GET /socket.io/?transport=polling&EIO=4&t=1698930518.8261983 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35270 - "POST /socket.io/?transport=polling&EIO=4&sid=r8fEZxoMgVl4eDicAAAC HTTP/1.1" 200 OK
INFO: 127.0.0.1:35274 - "GET /socket.io/?transport=polling&EIO=4&sid=r8fEZxoMgVl4eDicAAAC&t=1698930518.8443348 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35276 - "GET /socket.io/?transport=polling&EIO=4&t=1698930518.8555653 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35276 - "POST /socket.io/?transport=polling&EIO=4&sid=nkqmen-1e4riNaTxAAAE HTTP/1.1" 200 OK
INFO: 127.0.0.1:35278 - "GET /socket.io/?transport=polling&EIO=4&sid=nkqmen-1e4riNaTxAAAE&t=1698930518.8701632 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35284 - "GET /socket.io/?transport=polling&EIO=4&t=1698930518.8838327 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35284 - "POST /socket.io/?transport=polling&EIO=4&sid=00tHplKimsSGfpYbAAAG HTTP/1.1" 200 OK
INFO: 127.0.0.1:35278 - "GET /socket.io/?transport=polling&EIO=4&sid=nkqmen-1e4riNaTxAAAE&t=1698930518.8816657 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35300 - "GET /socket.io/?transport=polling&EIO=4&sid=00tHplKimsSGfpYbAAAG&t=1698930518.9019713 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35278 - "GET /socket.io/?transport=polling&EIO=4&sid=nkqmen-1e4riNaTxAAAE&t=1698930518.908574 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35300 - "GET /socket.io/?transport=polling&EIO=4&sid=00tHplKimsSGfpYbAAAG&t=1698930518.9162633 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35300 - "GET /socket.io/?transport=polling&EIO=4&sid=00tHplKimsSGfpYbAAAG&t=1698930518.9906971 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35300 - "GET /socket.io/?transport=polling&EIO=4&sid=00tHplKimsSGfpYbAAAG&t=1698930519.012215 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35278 - "GET /socket.io/?transport=polling&EIO=4&sid=nkqmen-1e4riNaTxAAAE&t=1698930518.982617 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35300 - "GET /socket.io/?transport=polling&EIO=4&sid=00tHplKimsSGfpYbAAAG&t=1698930519.021495 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35278 - "GET /socket.io/?transport=polling&EIO=4&sid=nkqmen-1e4riNaTxAAAE&t=1698930519.0645232 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35300 - "POST /socket.io/?transport=polling&EIO=4&sid=00tHplKimsSGfpYbAAAG HTTP/1.1" 200 OK
INFO: 127.0.0.1:35284 - "GET /socket.io/?transport=polling&EIO=4&sid=00tHplKimsSGfpYbAAAG&t=1698930519.0711331 HTTP/1.1" 200 OK
INFO: 127.0.0.1:35254 - "POST /socket.io/?transport=polling&EIO=4&sid=DHipojRhQBVzKVf7AAAA HTTP/1.1" 200 OK
INFO: 127.0.0.1:35270 - "POST /socket.io/?transport=polling&EIO=4&sid=r8fEZxoMgVl4eDicAAAC HTTP/1.1" 200 OK
threads at end: [<_MainThread(MainThread, started 140298428958528)>]
----------------------------- Captured stderr call -----------------------------
INFO: Started server process [57042]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8900 (Press CTRL+C to quit)
websocket-client package not installed, only polling transport is available
websocket-client package not installed, only polling transport is available
websocket-client package not installed, only polling transport is available
INFO: Shutting down
INFO: Waiting for connections to close. (CTRL+C to force quit)
INFO: Waiting for background tasks to complete. (CTRL+C to force quit)
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
INFO: Finished server process [57042]
------------------------------ Captured log call -------------------------------
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
___________________ TestAdmin.test_admin_connect_only_admin ____________________
self = <tests.common.test_admin.TestAdmin testMethod=test_admin_connect_only_admin>
isvr = <socketio.admin.InstrumentedServer object at 0x7f99b62bcd60>
@with_instrumented_server()
def test_admin_connect_only_admin(self, isvr):
with socketio.SimpleClient() as admin_client:
admin_client.connect('http://localhost:8900', namespace='/admin')
sid = admin_client.sid
expected = ['config', 'all_sockets', 'server_stats']
events = {}
while expected:
data = admin_client.receive(timeout=5)
if data[0] in expected:
events[data[0]] = data[1]
expected.remove(data[0])
assert 'supportedFeatures' in events['config']
assert 'ALL_EVENTS' in events['config']['supportedFeatures']
assert 'AGGREGATED_EVENTS' in events['config']['supportedFeatures']
assert 'EMIT' in events['config']['supportedFeatures']
assert len(events['all_sockets']) == 1
assert events['all_sockets'][0]['id'] == sid
assert events['all_sockets'][0]['rooms'] == [sid]
assert events['server_stats']['clientsCount'] == 1
> assert events['server_stats']['pollingClientsCount'] == 0
E assert 1 == 0
tests/common/test_admin.py:162: AssertionError
----------------------------- Captured stdout call -----------------------------
threads at start: [<_MainThread(MainThread, started 140298428958528)>]
threads at end: [<_MainThread(MainThread, started 140298428958528)>]
----------------------------- Captured stderr call -----------------------------
127.0.0.1 - - [02/Nov/2023 13:10:10] "GET / HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:10:10] "GET /socket.io/?transport=polling&EIO=4&t=1698930610.6052804 HTTP/1.1" 200 97
websocket-client package not installed, only polling transport is available
127.0.0.1 - - [02/Nov/2023 13:10:10] "POST /socket.io/?transport=polling&EIO=4&sid=3c1tfqkNNkNGkosFAAAA HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:10:10] "GET /socket.io/?transport=polling&EIO=4&sid=3c1tfqkNNkNGkosFAAAA&t=1698930610.6128032 HTTP/1.1" 200 705
127.0.0.1 - - [02/Nov/2023 13:10:10] "GET /socket.io/?transport=polling&EIO=4&sid=3c1tfqkNNkNGkosFAAAA&t=1698930610.6216378 HTTP/1.1" 200 665
127.0.0.1 - - [02/Nov/2023 13:10:10] "GET /socket.io/?transport=polling&EIO=4&sid=3c1tfqkNNkNGkosFAAAA&t=1698930610.7210798 HTTP/1.1" 200 580
------------------------------ Captured log call -------------------------------
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
___________________ TestAdmin.test_admin_connect_production ____________________
self = <tests.common.test_admin.TestAdmin testMethod=test_admin_connect_production>
isvr = <socketio.admin.InstrumentedServer object at 0x7f99b6558640>
@with_instrumented_server(mode='production', read_only=True)
def test_admin_connect_production(self, isvr):
with socketio.SimpleClient() as admin_client:
admin_client.connect('http://localhost:8900', namespace='/admin')
expected = ['config', 'server_stats']
events = {}
while expected:
data = admin_client.receive(timeout=5)
if data[0] in expected:
events[data[0]] = data[1]
expected.remove(data[0])
assert 'supportedFeatures' in events['config']
assert 'ALL_EVENTS' not in events['config']['supportedFeatures']
assert 'AGGREGATED_EVENTS' in events['config']['supportedFeatures']
assert 'EMIT' not in events['config']['supportedFeatures']
assert events['server_stats']['clientsCount'] == 1
> assert events['server_stats']['pollingClientsCount'] == 0
E assert 1 == 0
tests/common/test_admin.py:243: AssertionError
----------------------------- Captured stdout call -----------------------------
threads at start: [<_MainThread(MainThread, started 140298428958528)>]
threads at end: [<_MainThread(MainThread, started 140298428958528)>]
----------------------------- Captured stderr call -----------------------------
127.0.0.1 - - [02/Nov/2023 13:10:11] "GET / HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:10:11] "GET /socket.io/?transport=polling&EIO=4&t=1698930611.1550329 HTTP/1.1" 200 97
websocket-client package not installed, only polling transport is available
127.0.0.1 - - [02/Nov/2023 13:10:11] "POST /socket.io/?transport=polling&EIO=4&sid=DlZRZp45WfoSpvTcAAAA HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:10:11] "GET /socket.io/?transport=polling&EIO=4&sid=DlZRZp45WfoSpvTcAAAA&t=1698930611.1682162 HTTP/1.1" 200 39
127.0.0.1 - - [02/Nov/2023 13:10:11] "GET /socket.io/?transport=polling&EIO=4&sid=DlZRZp45WfoSpvTcAAAA&t=1698930611.1755276 HTTP/1.1" 200 63
127.0.0.1 - - [02/Nov/2023 13:10:11] "GET /socket.io/?transport=polling&EIO=4&sid=DlZRZp45WfoSpvTcAAAA&t=1698930611.2739904 HTTP/1.1" 200 577
------------------------------ Captured log call -------------------------------
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
___________________ TestAdmin.test_admin_connect_with_others ___________________
self = <tests.common.test_admin.TestAdmin testMethod=test_admin_connect_with_others>
isvr = <socketio.admin.InstrumentedServer object at 0x7f99b5449160>
@with_instrumented_server()
def test_admin_connect_with_others(self, isvr):
with socketio.SimpleClient() as client1, \
socketio.SimpleClient() as client2, \
socketio.SimpleClient() as client3, \
socketio.SimpleClient() as admin_client:
client1.connect('http://localhost:8900')
client1.emit('enter_room', 'room')
sid1 = client1.sid
saved_check_for_upgrade = isvr._check_for_upgrade
isvr._check_for_upgrade = mock.MagicMock()
client2.connect('http://localhost:8900', namespace='/foo',
transports=['polling'])
sid2 = client2.sid
isvr._check_for_upgrade = saved_check_for_upgrade
client3.connect('http://localhost:8900', namespace='/admin')
sid3 = client3.sid
admin_client.connect('http://localhost:8900', namespace='/admin')
sid = admin_client.sid
expected = ['config', 'all_sockets', 'server_stats']
events = {}
while expected:
data = admin_client.receive(timeout=5)
if data[0] in expected:
events[data[0]] = data[1]
expected.remove(data[0])
assert 'supportedFeatures' in events['config']
assert 'ALL_EVENTS' in events['config']['supportedFeatures']
assert 'AGGREGATED_EVENTS' in events['config']['supportedFeatures']
assert 'EMIT' in events['config']['supportedFeatures']
assert len(events['all_sockets']) == 4
assert events['server_stats']['clientsCount'] == 4
> assert events['server_stats']['pollingClientsCount'] == 1
E assert 4 == 1
tests/common/test_admin.py:207: AssertionError
----------------------------- Captured stdout call -----------------------------
threads at start: [<_MainThread(MainThread, started 140298428958528)>]
threads at end: [<_MainThread(MainThread, started 140298428958528)>]
----------------------------- Captured stderr call -----------------------------
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET / HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&t=1698930762.5861912 HTTP/1.1" 200 97
websocket-client package not installed, only polling transport is available
127.0.0.1 - - [02/Nov/2023 13:12:42] "POST /socket.io/?transport=polling&EIO=4&sid=eDQ86lzYKTYTi3-HAAAA HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=eDQ86lzYKTYTi3-HAAAA&t=1698930762.5993142 HTTP/1.1" 200 32
127.0.0.1 - - [02/Nov/2023 13:12:42] "POST /socket.io/?transport=polling&EIO=4&sid=eDQ86lzYKTYTi3-HAAAA HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&t=1698930762.6099381 HTTP/1.1" 200 97
127.0.0.1 - - [02/Nov/2023 13:12:42] "POST /socket.io/?transport=polling&EIO=4&sid=TdGjHJdfh0pgXsvvAAAC HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=TdGjHJdfh0pgXsvvAAAC&t=1698930762.6267276 HTTP/1.1" 200 37
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&t=1698930762.634602 HTTP/1.1" 200 97
websocket-client package not installed, only polling transport is available
127.0.0.1 - - [02/Nov/2023 13:12:42] "POST /socket.io/?transport=polling&EIO=4&sid=2dGQzAWZi1yjTpYqAAAE HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=2dGQzAWZi1yjTpYqAAAE&t=1698930762.647121 HTTP/1.1" 200 703
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&t=1698930762.6575818 HTTP/1.1" 200 97
websocket-client package not installed, only polling transport is available
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=2dGQzAWZi1yjTpYqAAAE&t=1698930762.6577694 HTTP/1.1" 200 665
127.0.0.1 - - [02/Nov/2023 13:12:42] "POST /socket.io/?transport=polling&EIO=4&sid=dvz_qt-EOYj1hLdtAAAG HTTP/1.1" 200 2
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=dvz_qt-EOYj1hLdtAAAG&t=1698930762.666756 HTTP/1.1" 200 705
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=2dGQzAWZi1yjTpYqAAAE&t=1698930762.6755328 HTTP/1.1" 200 142
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=dvz_qt-EOYj1hLdtAAAG&t=1698930762.6784272 HTTP/1.1" 200 569
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=dvz_qt-EOYj1hLdtAAAG&t=1698930762.76182 HTTP/1.1" 200 658
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=2dGQzAWZi1yjTpYqAAAE&t=1698930762.7581413 HTTP/1.1" 200 581
127.0.0.1 - - [02/Nov/2023 13:12:42] "GET /socket.io/?transport=polling&EIO=4&sid=dvz_qt-EOYj1hLdtAAAG&t=1698930762.7779737 HTTP/1.1" 200 581
------------------------------ Captured log call -------------------------------
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
ERROR engineio.client:client.py:233 websocket-client package not installed, only polling transport is available
=============================== warnings summary ===============================
tests/async/test_client.py::TestAsyncClient::test_handle_reconnect_aborted
tests/async/test_pubsub_manager.py::TestAsyncPubSubManager::test_emit_with_ignore_queue
/usr/lib64/python3.8/unittest/mock.py:2030: RuntimeWarning: coroutine 'Event.wait' was never awaited
setattr(_type, entry, MagicProxy(entry, self))
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/async/test_client.py::TestAsyncClient::test_wait_reconnect_successful
/usr/lib64/python3.8/enum.py:339: RuntimeWarning: coroutine 'Event.wait' was never awaited
return cls.__new__(cls, value)
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/async/test_manager.py::TestAsyncManager::test_close_invalid_room
/home/tkloczko/rpmbuild/BUILD/python-socketio-5.10.0/tests/async/test_manager.py:195: RuntimeWarning: coroutine 'AsyncManager.close_room' was never awaited
self.bm.close_room('bar', '/foo')
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/async/test_pubsub_manager.py::TestAsyncPubSubManager::test_emit_with_ignore_queue
/usr/lib64/python3.8/unittest/mock.py:2030: RuntimeWarning: coroutine 'TestAsyncClient.test_wait_reconnect_successful.<locals>.fake_wait' was never awaited
setattr(_type, entry, MagicProxy(entry, self))
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/async/test_admin.py::TestAsyncAdmin::test_admin_connect_only_admin
FAILED tests/async/test_admin.py::TestAsyncAdmin::test_admin_connect_production
FAILED tests/async/test_admin.py::TestAsyncAdmin::test_admin_connect_with_others
FAILED tests/common/test_admin.py::TestAdmin::test_admin_connect_only_admin
FAILED tests/common/test_admin.py::TestAdmin::test_admin_connect_production
FAILED tests/common/test_admin.py::TestAdmin::test_admin_connect_with_others
============ 6 failed, 564 passed, 5 warnings in 539.42s (0:08:59) =============
Here is list of installed modules in build env
Package Version
----------------------------- -------
alabaster 0.7.13
Babel 2.13.1
bidict 0.22.1
build 1.0.3
charset-normalizer 3.3.2
click 8.1.7
cppclean 0.13
distro 1.8.0
docutils 0.20.1
exceptiongroup 1.1.3
gpg 1.23.0
h11 0.14.0
idna 3.4
imagesize 1.4.1
importlib-metadata 6.8.0
iniconfig 2.0.0
installer 0.7.0
Jinja2 3.1.2
MarkupSafe 2.1.3
msgpack 1.0.6
packaging 23.2
pluggy 1.3.0
Pygments 2.16.1
pyproject_hooks 1.0.0
pytest 7.4.3
python-dateutil 2.8.2
python-engineio 4.8.0
pytz 2023.3
requests 2.31.0
setuptools 68.2.2
simple-websocket 1.0.0
six 1.16.0
snowballstemmer 2.2.0
Sphinx 7.1.2
sphinxcontrib-applehelp 1.0.4
sphinxcontrib-devhelp 1.0.5
sphinxcontrib-htmlhelp 2.0.4
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.9
tomli 2.0.1
typing_extensions 4.8.0
urllib3 1.26.18
uvicorn 0.24.0
wheel 0.41.3
wsproto 1.2.0
zipp 3.17.0
Metadata
Metadata
Assignees
Labels
No labels