Source code for monitor.test.test_ServerConnection

#!/usr/bin/env python3

import unittest
import zmq
from unittest.mock import *
from monitor.zeromq_connection import ServerConnection


[docs]class TestServerConnection(unittest.TestCase): @patch('zmq.Context')
[docs] def test_init(self, mock_context): mock_socket = MagicMock() mock_receiver = MagicMock() logger = MagicMock() mock_context.return_value = mock_socket mock_socket.socket.return_value = mock_receiver ServerConnection("ip_address", 1025, logger) mock_context.assert_called_once_with() mock_socket.socket.assert_called_once_with(zmq.ROUTER) mock_receiver.setsockopt.assert_called_once_with(zmq.IDENTITY, b"recodex-monitor") mock_receiver.bind.assert_called_once_with("tcp://ip_address:1025")
@patch('zmq.Context')
[docs] def test_start_normal(self, mock_context): mock_socket = MagicMock() mock_receiver = MagicMock() logger = MagicMock() mock_context.return_value = mock_socket mock_socket.socket.return_value = mock_receiver mock_callback = MagicMock() server = ServerConnection("ip_address", 1025, logger) mock_receiver.recv_multipart.side_effect = [[b"id", b"1234", b"command text", b"task id text", b"task state text"], [b"id", b"0", b"exit"]] ret = server.start(mock_callback) self.assertTrue(ret) mock_callback.assert_called_once_with("1234", '{"command": "command text", "task_id": "task id text", ' '"task_state": "task state text"}')
@patch('zmq.Context')
[docs] def test_start_socket_error(self, mock_context): mock_socket = MagicMock() mock_receiver = MagicMock() logger = MagicMock() mock_context.return_value = mock_socket mock_socket.socket.return_value = mock_receiver mock_callback = MagicMock() server = ServerConnection("ip_address", 1025, logger) mock_receiver.recv_multipart.side_effect = Exception ret = server.start(mock_callback) self.assertFalse(ret) self.assertFalse(mock_callback.called)