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