From 0dde17e60f9a838247993165cffaa9fdf12303b1 Mon Sep 17 00:00:00 2001 From: tsm-odoo Date: Mon, 18 Mar 2024 08:27:38 +0100 Subject: [PATCH] [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) --- addons/bus/tests/common.py | 2 ++ addons/bus/tests/test_websocket_caryall.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/addons/bus/tests/common.py b/addons/bus/tests/common.py index 10e7fcf40ea..1fe03983909 100644 --- a/addons/bus/tests/common.py +++ b/addons/bus/tests/common.py @@ -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 diff --git a/addons/bus/tests/test_websocket_caryall.py b/addons/bus/tests/test_websocket_caryall.py index 60201cf10be..f9d5f15618e 100644 --- a/addons/bus/tests/test_websocket_caryall.py +++ b/addons/bus/tests/test_websocket_caryall.py @@ -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()