コード例 #1
0
    def test_raises_error_on_empty_buffer(self, monkeypatch):
        """
        Tests to make sure that a "read ready" socket that
        has an empty buffer causes the connection to close
        and the connection reset to be raised.
        """
        mocked_socket = MagicMock()
        mocked_disconnect = MagicMock()

        mocked_select = MagicMock(return_value=[True, False, False])

        socket_received_data = b""
        mocked_recv = MagicMock(return_value=socket_received_data)
        mocked_socket.recv = mocked_recv

        conn = Connection()

        monkeypatch.setattr(conn, "socket", mocked_socket)
        monkeypatch.setattr("faktory._proto.select.select", mocked_select)
        monkeypatch.setattr(conn, "disconnect", mocked_disconnect)

        with pytest.raises(FaktoryConnectionResetError):
            data = conn.select_data(buffer_size=5_000)

        mocked_recv.assert_called_once()
        mocked_disconnect.assert_called_once()
コード例 #2
0
    def test_fetches_provided_buffer_size(self, monkeypatch):
        mocked_socket = MagicMock()

        mocked_select = MagicMock(return_value=[True, False, False])

        mocked_recv = MagicMock(return_value=b"I'm the mocked out data!")
        mocked_socket.recv = mocked_recv

        conn = Connection()

        monkeypatch.setattr(conn, "socket", mocked_socket)
        monkeypatch.setattr("faktory._proto.select.select", mocked_select)

        data = conn.select_data(buffer_size=5_000)
        mocked_recv.assert_called_once_with(5_000)
コード例 #3
0
    def test_returns_buffer_if_exists(self, monkeypatch):

        mocked_socket = MagicMock()

        mocked_select = MagicMock(return_value=[True, False, False])

        socket_received_data = b"I'm the mocked out data!"
        mocked_recv = MagicMock(return_value=socket_received_data)
        mocked_socket.recv = mocked_recv

        conn = Connection()

        monkeypatch.setattr(conn, "socket", mocked_socket)
        monkeypatch.setattr("faktory._proto.select.select", mocked_select)

        data = conn.select_data(buffer_size=5_000)
        mocked_recv.assert_called_once()
        assert data == b"I'm the mocked out data!"
コード例 #4
0
    def test_raises_error_if_socket_not_ready(self, monkeypatch):
        mocked_socket = MagicMock()
        mocked_disconnect = MagicMock()

        mocked_select = MagicMock(return_value=[False, False, False])

        socket_received_data = b"I'm the mocked out data!"
        mocked_recv = MagicMock(return_value=socket_received_data)
        mocked_socket.recv = mocked_recv

        conn = Connection()

        monkeypatch.setattr(conn, "socket", mocked_socket)
        monkeypatch.setattr("faktory._proto.select.select", mocked_select)
        monkeypatch.setattr(conn, "disconnect", mocked_disconnect)

        with pytest.raises(FaktoryConnectionResetError):
            data = conn.select_data(buffer_size=5_000)

        mocked_recv.assert_not_called()
        mocked_disconnect.assert_called_once()