From bad2b3df1d85d70cb89c4020b9aa7ba5578f9607 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 3 Jun 2025 09:19:25 -0400 Subject: [PATCH] MT#55283 add extra WS test Change-Id: I083c55b331d325ceb90adb2cc1b36ba4bc8c6c78 --- t/auto-daemon-tests-websocket.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/t/auto-daemon-tests-websocket.py b/t/auto-daemon-tests-websocket.py index 8b383eae5..e87dee0b6 100644 --- a/t/auto-daemon-tests-websocket.py +++ b/t/auto-daemon-tests-websocket.py @@ -168,6 +168,36 @@ class TestNGPlainJSON(unittest.TestCase): ) +class TestNG(unittest.TestCase): + @classmethod + def setUpClass(cls): + eventloop.run_until_complete(get_ws(cls, "ng.rtpengine.com")) + + @classmethod + def tearDownClass(cls): + eventloop.run_until_complete(close_ws(cls)) + + async def _testQueuedStats(self): + futures = {} + for idx in range(20): + cookie = f'test{idx}' + future = self._ws[0].send(cookie + ' ' + json.dumps({"command": "statistics"})) + futures[cookie] = future + for future in futures.values(): + await future + for idx in range(20): + msg = await asyncio.wait_for(self._ws[0].recv(), timeout=10) + if isinstance(msg, bytes): + msg = msg.decode('utf-8') + cpos = msg.find(' ') + cookie = msg[0:cpos] + self.assertIn(cookie, futures) + del futures[cookie] + + def testQueuedStats(self): + eventloop.run_until_complete(self._testQueuedStats()) + + class TestWSJanus(unittest.TestCase): @classmethod def setUpClass(cls):