Beispiel #1
0
    def test_recv_message_when_first_recv_fail(self, select_function_mock):
        message = 'test message'
        select_function_mock.side_effect = [[True]]
        self.socket_mock.recv.side_effect = ['']

        with pytest.raises(IOError):
            received_message = Network.recv_message(self.socket_mock)

        self.socket_mock.recv.assert_has_calls([call(1),
                                                ])
Beispiel #2
0
    def test_recv_message_when_select_in_loop_fail(self, select_function_mock):
        message = 'test message'
        select_function_mock.side_effect = [[True], [False]]
        self.socket_mock.recv.side_effect = [struct.pack('B', len(message)),
                                             ]

        with pytest.raises(Network.TimeoutException):
            received_message = Network.recv_message(self.socket_mock)

        self.socket_mock.recv.assert_has_calls([call(1),
                                                ])
Beispiel #3
0
    def test_recv_message_correct_call(self, select_function_mock):
        message = 'test message'
        select_function_mock.side_effect = [[True], [True], [True], [True]]
        self.socket_mock.recv.side_effect = [struct.pack('B', len(message)),
                                             'test',
                                             ' ',
                                             'message']

        received_message = Network.recv_message(self.socket_mock)

        self.socket_mock.recv.assert_has_calls([call(1),
                                                call(12),
                                                call(8),
                                                call(7),
                                                ])
        assert message == received_message
Beispiel #4
0
    def test_recv_message_when_first_select_fail(self, select_function_mock):
        message = 'test message'
        select_function_mock.side_effect = [[False]]

        with pytest.raises(Network.TimeoutException):
            received_message = Network.recv_message(self.socket_mock)