Skip to content

Commit 091325e

Browse files
committed
[fix] Fix test
1 parent 8ecee55 commit 091325e

File tree

2 files changed

+31
-30
lines changed

2 files changed

+31
-30
lines changed

tests/test_messagebus_websocket.py

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -917,38 +917,36 @@ def test_messagebus_events(test_client: OpsiconfdTestClient) -> None: # noqa: F
917917
with create_client_via_jsonrpc(client, "", host_id=host_id, host_key=host_key):
918918
client.reset_cookies()
919919
client.auth = (host_id, host_key)
920-
test_sess = client.websocket_connect("/messagebus/v1")
921-
# Do not use context manager here, because __exit__ will shut down the whole application
922-
test_sess.__enter__()
923-
sleep(1)
924-
test_sess.close()
920+
with client.websocket_connect("/messagebus/v1") as client_websocket:
921+
client_websocket.receive_bytes()
922+
client_websocket.close()
925923

926-
reader.wait_for_message(count=2)
927-
messages = list(reader.get_messages())
924+
reader.wait_for_message(count=2)
925+
messages = list(reader.get_messages())
928926

929-
assert messages[0]["type"] == "event"
930-
assert messages[0]["channel"] == "event:host_connected"
931-
assert messages[0]["event"] == "host_connected"
932-
assert messages[0]["data"]["host"]["id"] == "msgbus-test-client.opsi.test"
927+
assert messages[0]["type"] == "event"
928+
assert messages[0]["channel"] == "event:host_connected"
929+
assert messages[0]["event"] == "host_connected"
930+
assert messages[0]["data"]["host"]["id"] == "msgbus-test-client.opsi.test"
933931

934-
assert messages[1]["type"] == "event"
935-
assert messages[1]["channel"] == "event:host_disconnected"
936-
assert messages[1]["event"] == "host_disconnected"
937-
assert messages[1]["data"]["host"]["id"] == "msgbus-test-client.opsi.test"
932+
assert messages[1]["type"] == "event"
933+
assert messages[1]["channel"] == "event:host_disconnected"
934+
assert messages[1]["event"] == "host_disconnected"
935+
assert messages[1]["data"]["host"]["id"] == "msgbus-test-client.opsi.test"
938936

939-
client.auth = (ADMIN_USER, ADMIN_PASS)
940-
client.reset_cookies()
941-
conf = UnicodeConfig("test.config")
942-
result = client.jsonrpc20(method="config_createObjects", params=[conf.to_hash()])
943-
assert "error" not in result
944-
assert result["result"] is None
937+
client.auth = (ADMIN_USER, ADMIN_PASS)
938+
client.reset_cookies()
939+
conf = UnicodeConfig("test.config")
940+
result = client.jsonrpc20(method="config_createObjects", params=[conf.to_hash()])
941+
assert "error" not in result
942+
assert result["result"] is None
945943

946-
reader.wait_for_message(count=1)
947-
msg = next(reader.get_messages())
948-
assert msg["type"] == "event"
949-
assert msg["channel"] == "event:config_created"
950-
assert msg["event"] == "config_created"
951-
assert msg["data"] == {"id": "test.config"}
944+
reader.wait_for_message(count=1)
945+
msg = next(reader.get_messages())
946+
assert msg["type"] == "event"
947+
assert msg["channel"] == "event:config_created"
948+
assert msg["event"] == "config_created"
949+
assert msg["data"] == {"id": "test.config"}
952950

953951

954952
async def test_messagebus_close_on_session_deleted(

tests/utils.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import msgpack # type: ignore[import]
3030
import pytest
31+
from anyio import EndOfStream
3132
from fastapi.testclient import TestClient
3233
from httpx._auth import BasicAuth
3334
from httpx._models import Cookies
@@ -510,7 +511,10 @@ def __exit__(
510511
def run(self) -> None:
511512
while not self.should_stop:
512513
self.running.set()
513-
data = self.websocket.receive()
514+
try:
515+
data = self.websocket.receive()
516+
except EndOfStream:
517+
break
514518
if self.should_stop:
515519
break
516520
if not data:
@@ -529,12 +533,11 @@ def run(self) -> None:
529533
logger.debug("WebSocketMessageReader received message (size: %d, raw: %s, qsize: %d)", len(raw), raw, self.messages.qsize())
530534
if self.print_raw_data:
531535
print(
532-
f"WebSocketMessageReader received message (size: {len(raw)}, raw: {raw[:self.print_raw_data]}...), qsize: {self.messages.qsize()}"
536+
f"WebSocketMessageReader received message (size: {len(raw)}, raw: {raw[: self.print_raw_data]}...), qsize: {self.messages.qsize()}"
533537
)
534538

535539
def stop(self) -> None:
536540
self.should_stop = True
537-
self.websocket.send_bytes(b"")
538541
self.join(3)
539542

540543
def purge_messages(self) -> None:

0 commit comments

Comments
 (0)