Skip to content

Commit df0062e

Browse files
committed
Allow mock WS client to close after a specific response
1 parent 8d37bd8 commit df0062e

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

tests/conftest.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,14 @@ def helpers():
3232

3333

3434
class FakeWebsocket:
35-
def __init__(self, message: str, recieve_once=True):
35+
def __init__(self, message: str, recieve_once=True, close_after=None):
3636
self.message = message
3737
self.responses = []
3838
self.closed = False
3939
self.recieve_once = recieve_once
4040

41+
self.close_after = close_after or []
42+
4143
# I mean screw whoever is responsible for this having to be a thing...
4244
self.receive = self.recieve
4345

@@ -59,7 +61,9 @@ def response(self):
5961

6062
def send(self, response):
6163
self.responses.append(response)
62-
self.closed = True
64+
# Close WS after getting the pre-defined unit test response
65+
if response in self.close_after:
66+
self.closed = True
6367
return response
6468

6569

@@ -317,7 +321,7 @@ def fake_websocket():
317321
that sends a given message, waits for a response, then closes
318322
"""
319323

320-
def _foo(msg, recieve_once=True):
321-
return FakeWebsocket(msg, recieve_once=recieve_once)
324+
def _foo(*args, **kwargs):
325+
return FakeWebsocket(*args, **kwargs)
322326

323327
return _foo

0 commit comments

Comments
 (0)