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()
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()