code: def test_listener_stop(self, process_killer):
      # given
      run, ws = MagicMock(), MagicMock()
      listener = WebsocketSignalsBackgroundJob._ListenerThread(run, ws)
  
      ws.recv.return_value = (
          '{"type": "neptune/stop", "body": {"seconds": 5}}'
      )
  
      # when
      listener.work()
  
      # then
      self.assertEqual(0, run.__setitem__.call_count)
      run.stop.assert_called_once_with(seconds=5)
      process_killer.kill_me.assert_called_once_with()
  
imports: import unittest
  from mock import MagicMock, patch
  from neptune.internal.websockets.websocket_signals_background_job import WebsocketSignalsBackgroundJob
label_desc: Use image node_id 1 for calling the TestClient obj's underlying member method code with example usage: obj.test_listener_stop(process_killer) without return types