Skip to content

Commit

Permalink
No need to push a new app context in the test client (Fixes #1669)
Browse files Browse the repository at this point in the history
  • Loading branch information
miguelgrinberg committed Aug 24, 2021
1 parent 486bc46 commit bd6a0e2
Showing 1 changed file with 8 additions and 15 deletions.
23 changes: 8 additions & 15 deletions src/flask_socketio/test_client.py
Expand Up @@ -116,9 +116,7 @@ def connect(self, namespace=None, query_string=None, headers=None,
self.flask_test_client.cookie_jar.inject_wsgi(environ)
self.socketio.server._handle_eio_connect(self.eio_sid, environ)
pkt = packet.Packet(packet.CONNECT, auth, namespace=namespace)
with self.app.app_context():
self.socketio.server._handle_eio_message(self.eio_sid,
pkt.encode())
self.socketio.server._handle_eio_message(self.eio_sid, pkt.encode())
sid = self.socketio.server.manager.sid_from_eio_sid(self.eio_sid,
namespace)
if sid:
Expand All @@ -133,9 +131,7 @@ def disconnect(self, namespace=None):
if not self.is_connected(namespace):
raise RuntimeError('not connected')
pkt = packet.Packet(packet.DISCONNECT, namespace=namespace)
with self.app.app_context():
self.socketio.server._handle_eio_message(self.eio_sid,
pkt.encode())
self.socketio.server._handle_eio_message(self.eio_sid, pkt.encode())
del self.connected[namespace or '/']

def emit(self, event, *args, **kwargs):
Expand Down Expand Up @@ -163,15 +159,12 @@ def emit(self, event, *args, **kwargs):
id = self.callback_counter
pkt = packet.Packet(packet.EVENT, data=[event] + list(args),
namespace=namespace, id=id)
with self.app.app_context():
encoded_pkt = pkt.encode()
if isinstance(encoded_pkt, list):
for epkt in encoded_pkt:
self.socketio.server._handle_eio_message(self.eio_sid,
epkt)
else:
self.socketio.server._handle_eio_message(self.eio_sid,
encoded_pkt)
encoded_pkt = pkt.encode()
if isinstance(encoded_pkt, list):
for epkt in encoded_pkt:
self.socketio.server._handle_eio_message(self.eio_sid, epkt)
else:
self.socketio.server._handle_eio_message(self.eio_sid, encoded_pkt)
ack = self.acks.pop(self.eio_sid, None)
if ack is not None:
return ack['args'][0] if len(ack['args']) == 1 \
Expand Down

0 comments on commit bd6a0e2

Please sign in to comment.