示例#1
0
 def test_tell_manager(self):
     worker = NowcastWorker("test_worker", "description")
     worker._parsed_args = Mock(debug=False)
     worker._socket = Mock(name="_socket")
     worker.logger = Mock(name="logger")
     config = Config()
     config.file = "nowcast.yaml"
     worker.config._dict = {
         "message registry": {
             "manager": {
                 "ack": "message acknowledged"
             },
             "workers": {
                 "test_worker": {
                     "success": "successful test"
                 }
             },
         }
     }
     mgr_msg = Message(source="manager", type="ack")
     worker._socket.recv_string.return_value = mgr_msg.serialize()
     response = worker.tell_manager("success", "payload")
     worker._socket.send_string.assert_called_once_with(
         Message(source="test_worker", type="success",
                 payload="payload").serialize())
     worker._socket.recv_string.assert_called_once_with()
     assert worker.logger.debug.call_count == 2
     assert response == mgr_msg
示例#2
0
 def test_port_in_use(self, m_logging_config, config, worker_name,
                      exception, exp_msg):
     worker = NowcastWorker(worker_name, "description")
     worker._socket = Mock(name="zmq_socket")
     worker.config._dict = config
     worker._parsed_args = SimpleNamespace(debug=False)
     m_logging_config.dictConfig.side_effect = (exception, None)
     msg = worker._configure_logging()
     assert msg == exp_msg
示例#3
0
 def test_all_ports_in_use(self, m_logging_config, config, worker_name,
                           exception):
     worker = NowcastWorker(worker_name, "description")
     worker._socket = Mock(name="zmq_socket")
     worker.config._dict = config
     worker._parsed_args = SimpleNamespace(debug=False)
     m_logging_config.dictConfig.side_effect = exception
     with pytest.raises(WorkerError):
         worker._configure_logging()
示例#4
0
 def test_unregistered_manager_message_type(self):
     worker = NowcastWorker("test_worker", "description")
     worker._parsed_args = Mock(debug=False)
     worker._socket = Mock(name="_socket")
     worker.logger = Mock(name="logger")
     config = Config()
     config.file = "nowcast.yaml"
     worker.config._dict = {
         "message registry": {
             "manager": {
                 "ack": "message acknowledged"
             },
             "workers": {
                 "test_worker": {
                     "success": "successful test"
                 }
             },
         }
     }
     mgr_msg = Message(source="manager", type="foo")
     worker._socket.recv_string.return_value = mgr_msg.serialize()
     with pytest.raises(WorkerError):
         worker.tell_manager("success", "payload")