Skip to content

Commit

Permalink
add unit tests for kernel action events
Browse files Browse the repository at this point in the history
  • Loading branch information
Zsailer committed Apr 7, 2023
1 parent 7ae3fa8 commit 0f77466
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 6 deletions.
4 changes: 2 additions & 2 deletions jupyter_server/event_schemas/kernel_actions/v1.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ type: object
required:
- action
- kernel_id
- message
- msg
properties:
action:
enum:
Expand Down Expand Up @@ -65,7 +65,7 @@ properties:
description: |
Http response codes from a rest api operation to kernel server.
Examples: 200, 400, 502, 503, 599 etc
message:
msg:
type: string
description: |
Description of the event specified in action.
8 changes: 4 additions & 4 deletions jupyter_server/services/kernels/kernelmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -770,7 +770,7 @@ async def start_kernel(self, *args, **kwargs):
"kernel_id": self.kernel_id,
"kernel_name": self.kernel_name,
"action": "start",
"message": f"Kernel {self.kernel_id} was started.",
"msg": f"Kernel {self.kernel_id} was started.",
},
)
return result
Expand All @@ -784,7 +784,7 @@ async def interrupt_kernel(self, *args, **kwargs):
"kernel_id": self.kernel_id,
"kernel_name": self.kernel_name,
"action": "interrupt",
"message": f"Kernel {self.kernel_id} was interrupted.",
"msg": f"Kernel {self.kernel_id} was interrupted.",
},
)
return result
Expand All @@ -798,7 +798,7 @@ async def shutdown_kernel(self, *args, **kwargs):
"kernel_id": self.kernel_id,
"kernel_name": self.kernel_name,
"action": "shutdown",
"message": f"Kernel {self.kernel_id} was shutdown.",
"msg": f"Kernel {self.kernel_id} was shutdown.",
},
)
return result
Expand All @@ -812,7 +812,7 @@ async def restart_kernel(self, *args, **kwargs):
"kernel_id": self.kernel_id,
"kernel_name": self.kernel_name,
"action": "restart",
"message": f"Kernel {self.kernel_id} was restarted.",
"msg": f"Kernel {self.kernel_id} was restarted.",
},
)
return result
25 changes: 25 additions & 0 deletions tests/services/kernels/test_events.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import pytest
from jupyter_client.manager import AsyncKernelManager

from jupyter_server.services.kernels.kernelmanager import ServerKernelManager

pytest_plugins = ["jupyter_events.pytest_plugin"]


@pytest.mark.parametrize("action", ["start", "restart", "interrupt", "shutdown"])
async def test_kernel_action_event(monkeypatch, action, jp_read_emitted_events, jp_event_handler):
manager = ServerKernelManager()
manager.event_logger.register_handler(jp_event_handler)

async def mock_method(self, *args, **kwargs):
self.kernel_id = "x-x-x-x-x"
...

monkeypatch.setattr(AsyncKernelManager, f"{action}_kernel", mock_method)

await getattr(manager, f"{action}_kernel")()

output = jp_read_emitted_events()[0]
assert "action" in output and output["action"] == action
assert "msg" in output
assert "kernel_id" in output

0 comments on commit 0f77466

Please sign in to comment.