[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:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user