Skip to content

Commit e3745d8

Browse files
committed
made the changes to test_acceptance and ReceiveOperationsDiscriminators
1 parent d9baed9 commit e3745d8

File tree

4 files changed

+45
-19
lines changed

4 files changed

+45
-19
lines changed

packages/templates/clients/websocket/python/components/ReceiveOperationsDiscriminators.js

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,9 @@ import { getMessageDiscriminatorsFromOperations } from '@asyncapi/generator-help
99
* @returns {React.Element|null} Rendered initialization code or null.
1010
*/
1111
export function ReceiveOperationsDiscriminators({ receiveOperations }) {
12-
const hasOperations = Array.isArray(receiveOperations) && receiveOperations.length > 0;
13-
if (!hasOperations) {
14-
return null;
15-
}
16-
17-
const operationDiscriminators = getMessageDiscriminatorsFromOperations(receiveOperations);
12+
const operationDiscriminators = Array.isArray(receiveOperations) && receiveOperations.length > 0
13+
? getMessageDiscriminatorsFromOperations(receiveOperations)
14+
: [];
1815
const serializedDiscriminators = JSON.stringify(operationDiscriminators);
1916

2017
return (

packages/templates/clients/websocket/python/test/components/__snapshots__/Constructor.test.js.snap

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ exports[`Constructor component (integration with AsyncAPI document) renders with
1616
self.outgoing_processors = [] # Callables to process outgoing messages
1717
self._stop_event = threading.Event()
1818
19+
self.receive_operation_handlers = {}
20+
self.receive_operation_discriminators = []
21+
1922
2023
2124
self.url = url"
@@ -37,6 +40,9 @@ exports[`Constructor component (integration with AsyncAPI document) renders with
3740
self.outgoing_processors = [] # Callables to process outgoing messages
3841
self._stop_event = threading.Event()
3942
43+
self.receive_operation_handlers = {}
44+
self.receive_operation_discriminators = []
45+
4046
4147
4248
self.url = url"
@@ -62,6 +68,9 @@ exports[`Constructor component (integration with AsyncAPI document) renders with
6268
self.outgoing_processors = [] # Callables to process outgoing messages
6369
self._stop_event = threading.Event()
6470
params = {}
71+
self.receive_operation_handlers = {}
72+
self.receive_operation_discriminators = []
73+
6574
heartbeat = heartbeat or os.getenv(\\"HEARTBEAT\\")
6675
if heartbeat is not None:
6776
params[\\"heartbeat\\"] = heartbeat
@@ -95,6 +104,9 @@ exports[`Constructor component (integration with AsyncAPI document) renders with
95104
self.outgoing_processors = [] # Callables to process outgoing messages
96105
self._stop_event = threading.Event()
97106
107+
self.receive_operation_handlers = {}
108+
self.receive_operation_discriminators = []
109+
98110
99111
100112
self.url = url"

packages/templates/clients/websocket/test/integration-test/__snapshots__/integration.test.js.snap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9314,6 +9314,9 @@ class PostmanEchoWebSocketClientClient:
93149314
self.outgoing_processors = [] # Callables to process outgoing messages
93159315
self._stop_event = threading.Event()
93169316
9317+
self.receive_operation_handlers = {}
9318+
self.receive_operation_discriminators = []
9319+
93179320
93189321
93199322
self.url = url

packages/templates/clients/websocket/test/python/test_acceptance.py

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
import sys
33
import os
44
import pytest
5-
import asyncio
6-
import websockets
75
import requests
6+
import json
7+
import threading
8+
from websockets.sync.server import serve
89

910
module_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../python/test/temp/snapshotTestResult/client_hoppscotch'))
1011

@@ -43,8 +44,7 @@ def message_handler(message):
4344
f"Expected message '{expected_message}' but got '{received_messages[0]}'"
4445
)
4546

46-
@pytest.mark.asyncio
47-
async def test_hoppscotch_client_sends_message():
47+
def test_hoppscotch_client_sends_message():
4848
port = 8083
4949
expected_outgoing_message = "Sending acceptance test message to Microcks."
5050

@@ -54,20 +54,33 @@ async def test_hoppscotch_client_sends_message():
5454
"testEndpoint": "ws://websocket-acceptance-tester-py:8083/ws",
5555
"runnerType": "ASYNC_API_SCHEMA",
5656
"timeout": 30000,
57-
"filteredOperations": ["RECEIVE handleEchoMessage"]
57+
"filteredOperations": ["SEND handleEchoMessage"]
5858
}
59+
60+
server_ready = threading.Event()
61+
test_complete = threading.Event()
62+
5963
# Create WebSocket server handler
60-
async def handler(websocket):
64+
def handler(websocket):
6165
###############
6266
#
63-
# Most improtant part of test where we test clients send message
67+
# Most important part of test where we test clients send message
6468
#
6569
###############
66-
await HoppscotchEchoWebSocketClient.send_echo_message_static(expected_outgoing_message, websocket)
70+
HoppscotchEchoWebSocketClient.send_echo_message_static(expected_outgoing_message, websocket)
71+
72+
def run_server():
73+
server = serve(handler, "0.0.0.0", port)
74+
server_ready.set()
75+
while not test_complete.is_set():
76+
time.sleep(0.1)
77+
server.shutdown()
6778

6879
# Start the WebSocket server
69-
server = await websockets.serve(handler, port=port)
70-
await asyncio.sleep(1) # Give server time to start
80+
server_thread = threading.Thread(target=run_server, daemon=True)
81+
server_thread.start()
82+
server_ready.wait(timeout=5)
83+
time.sleep(1) # Give server time to start
7184

7285
# Start test in Microcks
7386
response = requests.post(microcks_test_endpoint, json=payload)
@@ -83,8 +96,9 @@ async def handler(websocket):
8396
if result.get("success") is True:
8497
success = True
8598
break
86-
await asyncio.sleep(2)
87-
#await asyncio.sleep(1000)
88-
server.close()
99+
time.sleep(2)
100+
101+
test_complete.set()
102+
server_thread.join(timeout=5)
89103

90104
assert success, f"Microcks test {test_id} did not succeed"

0 commit comments

Comments
 (0)