[FIX] bus: fix non deterministic websocket test

Before this commit, the `test_websocket_instances_weak_set` was
sometimes failing. Indeed, this test doesn't wait for the connection
to be fully established before making its assertions. This commit
fixes this issue.

fixes runbot-55037,55035

closes odoo/odoo#157510

X-original-commit: 15bad5ccbeced41127eeaea3e47eebbc3f55091e
Signed-off-by: Matthieu Stockbauer (tsm) <tsm@odoo.com>
This commit is contained in:
tsm-odoo
2024-03-18 08:45:38 +00:00
parent 46f4f35a50
commit 0dde17e60f
2 changed files with 4 additions and 0 deletions
+2
View File
@@ -77,6 +77,8 @@ class WebsocketCase(HttpCase):
ws = websocket.create_connection(
type(self)._WEBSOCKET_URL, *args, **kwargs
)
ws.ping()
ws.recv_data_frame(control_frame=True) # pong
self._websockets.add(ws)
return ws
@@ -241,8 +241,10 @@ class TestWebsocketCaryall(WebsocketCase):
new_test_user(self.env, login='test_user', password='Password!1')
user_session = self.authenticate('test_user', 'Password!1')
serve_forever_called_event = Event()
original_serve_forever = WebsocketConnectionHandler._serve_forever
def serve_forever(websocket, *args):
original_serve_forever(websocket, *args)
self.assertNotEqual(websocket._session.sid, user_session.sid)
self.assertNotEqual(websocket._session.uid, user_session.uid)
serve_forever_called_event.set()