Skip to content

Commit d563a11

Browse files
committed
get tests working
1 parent ad63d87 commit d563a11

File tree

4 files changed

+31
-12
lines changed

4 files changed

+31
-12
lines changed

jupyter_server/services/events/bus.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1+
"""An EventBus for use in the Jupyter server.
2+
3+
.. versionadded:: 2.0
4+
"""
5+
# Copyright (c) Jupyter Development Team.
6+
# Distributed under the terms of the Modified BSD License.
17
from jupyter_telemetry.eventlog import EventLog
28
from traitlets.config import SingletonConfigurable
39

410

511
class EventBus(EventLog, SingletonConfigurable):
6-
"""A Jupyter EventLog as a Singleton, making it easy to
7-
access from anywhere and log events.
12+
"""A singleton eventlog that behaves as an event
13+
bus for emitting Jupyter Server (and extension)
14+
event data.
815
"""
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
from .mock_extension import _load_jupyter_server_extension
2+
13
# Function that makes these extensions discoverable
24
# by the test functions.
5+
6+
37
def _jupyter_server_extension_points():
48
return [
5-
{"module": "tests.events.mock_extension"},
9+
{"module": "tests.services.events.mockextension"},
610
]

tests/services/events/mockextension/mock_extension.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ def get(self):
1010
self.event_bus.record_event(
1111
schema_name="event.mockextension.jupyter.com/message",
1212
version=1,
13-
event={"message": "Hello world, from mock extension!"},
13+
event={"event_message": "Hello world, from mock extension!"},
1414
)
1515

1616

1717
def _load_jupyter_server_extension(serverapp):
1818
# Register a schema with the EventBus
19-
schema_file = pathlib.Path(__file__).parent / "mock_event_schema.yaml"
19+
schema_file = pathlib.Path(__file__).parent / "mock_extension_event.yaml"
2020
serverapp.event_bus.register_schema_file(schema_file)
2121
serverapp.web_app.add_handlers(
2222
".*$", [(url_path_join(serverapp.base_url, "/mock/event"), MockEventHandler)]
Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,32 @@
11
import json
2-
import pathlib
32

43
import pytest
54

65

76
@pytest.fixture
8-
def event_bus(jp_serverapp):
9-
event_bus = jp_serverapp.event_bus
10-
event_bus.allowed_schemas = ["event.mockextension.jupyter.com/message"]
11-
return event_bus
7+
def jp_server_config():
8+
config = {
9+
"ServerApp": {
10+
"jpserver_extensions": {"tests.services.events.mockextension": True},
11+
},
12+
"EventBus": {"allowed_schemas": ["event.mockextension.jupyter.com/message"]},
13+
}
14+
return config
1215

1316

14-
async def test_subscribe_websocket(jp_ws_fetch, jp_fetch, event_bus):
15-
# Open a websocket connection.
17+
async def test_subscribe_websocket(jp_ws_fetch, jp_fetch):
18+
# Open an event listener websocket
1619
ws = await jp_ws_fetch("/api/events/subscribe")
1720

21+
# Hit the extension endpoint that emits an event
1822
await jp_fetch("/mock/event")
23+
24+
# Check the event listener for a message
1925
message = await ws.read_message()
2026
event_data = json.loads(message)
27+
2128
# Close websocket
2229
ws.close()
2330

31+
# Verify that an event message was received.
2432
assert event_data.get("event_message") == "Hello world, from mock extension!"

0 commit comments

Comments
 (0)