Пример #1
0
    def test_handle_messages(self):
        """Test to ensure that kafka messages are handled."""
        hccm_msg = KafkaMsg(
            msg_handler.HCCM_TOPIC,
            'http://insights-upload.com/quarnantine/file_to_validate',
        )
        advisor_msg = KafkaMsg(
            'platform.upload.advisor',
            'http://insights-upload.com/quarnantine/file_to_validate',
        )

        # Verify that when extract_payload is successful with 'hccm' message that SUCCESS_CONFIRM_STATUS is returned
        with patch('masu.external.kafka_msg_handler.extract_payload',
                   return_value=None):
            self.assertEqual(
                msg_handler.handle_message(hccm_msg),
                (msg_handler.SUCCESS_CONFIRM_STATUS, None),
            )

        # Verify that when extract_payload is not successful with 'hccm' message that FAILURE_CONFIRM_STATUS is returned
        with patch(
                'masu.external.kafka_msg_handler.extract_payload',
                side_effect=msg_handler.KafkaMsgHandlerError,
        ):
            self.assertEqual(
                msg_handler.handle_message(hccm_msg),
                (msg_handler.FAILURE_CONFIRM_STATUS, None),
            )

        # Verify that when None status is returned for non-hccm messages (we don't confirm these)
        self.assertEqual(msg_handler.handle_message(advisor_msg), (None, None))
Пример #2
0
    def test_handle_messages(self):
        """Test to ensure that kafka messages are handled."""
        hccm_msg = KafkaMsg(
            msg_handler.HCCM_TOPIC,
            "http://insights-upload.com/quarnantine/file_to_validate")
        advisor_msg = KafkaMsg(
            "platform.upload.advisor",
            "http://insights-upload.com/quarnantine/file_to_validate")

        # Verify that when extract_payload is successful with 'hccm' message that SUCCESS_CONFIRM_STATUS is returned
        with patch("masu.external.kafka_msg_handler.extract_payload",
                   return_value=None):
            self.assertEqual(msg_handler.handle_message(hccm_msg),
                             (msg_handler.SUCCESS_CONFIRM_STATUS, None))

        # Verify that when extract_payload is not successful with 'hccm' message that FAILURE_CONFIRM_STATUS is returned
        with patch("masu.external.kafka_msg_handler.extract_payload",
                   side_effect=msg_handler.KafkaMsgHandlerError):
            self.assertEqual(msg_handler.handle_message(hccm_msg),
                             (msg_handler.FAILURE_CONFIRM_STATUS, None))

        # Verify that when None status is returned for non-hccm messages (we don't confirm these)
        self.assertEqual(msg_handler.handle_message(advisor_msg), (None, None))

        # Verify that when extract_payload has a OperationalError that KafkaMessageError is raised
        with patch("masu.external.kafka_msg_handler.extract_payload",
                   side_effect=OperationalError):
            with self.assertRaises(KafkaMsgHandlerError):
                msg_handler.handle_message(hccm_msg)

        # Verify that when extract_payload has a InterfaceError that KafkaMessageError is raised
        with patch("masu.external.kafka_msg_handler.extract_payload",
                   side_effect=InterfaceError):
            with self.assertRaises(KafkaMsgHandlerError):
                msg_handler.handle_message(hccm_msg)