def test_valid_response_returns_none(self, monkeypatch):
        payload = {"key": "value"}
        mocked_socket = MagicMock()
        mocked_reply = MagicMock()
        mocked_get_message = MagicMock(return_value=iter(["OK"]))

        conn = Connection()
        monkeypatch.setattr(conn, "socket", mocked_socket)
        monkeypatch.setattr(conn, "reply", mocked_reply)
        monkeypatch.setattr(conn, "get_message", mocked_get_message)
        # Doing nothing symbolizes success
        conn._validate_handshake(payload)
    def test_uses_payload(self, monkeypatch, payload: Dict[str, Any]):
        mocked_socket = MagicMock()
        mocked_reply = MagicMock()
        mocked_get_message = MagicMock(return_value=iter(["OK"]))

        conn = Connection()
        monkeypatch.setattr(conn, "socket", mocked_socket)
        monkeypatch.setattr(conn, "reply", mocked_reply)
        monkeypatch.setattr(conn, "get_message", mocked_get_message)

        conn._validate_handshake(payload)

        mocked_reply.assert_called_once()
        mocked_get_message.assert_called_once()

        used_payload = mocked_reply.call_args[0][1]
        assert used_payload == payload
    def test_raises_auth_error_on_bad_password(self, monkeypatch):
        payload = {"key": "value"}
        mocked_socket = MagicMock()
        mocked_reply = MagicMock()
        # Minimum error message we need to get it to raise the error
        err_message = "ERR: invalid password"
        mocked_get_message = MagicMock(return_value=iter([err_message]))
        mocked_close = MagicMock()
        mocked_socket.close = mocked_close

        conn = Connection()
        monkeypatch.setattr(conn, "socket", mocked_socket)
        monkeypatch.setattr(conn, "reply", mocked_reply)
        monkeypatch.setattr(conn, "get_message", mocked_get_message)
        with pytest.raises(FaktoryAuthenticationError):
            conn._validate_handshake(payload)

        mocked_close.assert_called_once()
Пример #4
0
    def test_raises_handshake_error_on_misc_error(self, monkeypatch):
        payload = {"key": "value"}
        mocked_socket = MagicMock()
        mocked_reply = MagicMock()
        mocked_get_message = MagicMock(
            return_value=iter(["ERR: A different, non auth error occurred"]))

        mocked_close = MagicMock()
        mocked_socket.close = mocked_close

        conn = Connection()
        monkeypatch.setattr(conn, "socket", mocked_socket)
        monkeypatch.setattr(conn, "reply", mocked_reply)
        monkeypatch.setattr(conn, "get_message", mocked_get_message)
        with pytest.raises(FaktoryHandshakeError):
            conn._validate_handshake(payload)

        mocked_close.assert_called_once()