"""Event util tests.""" from freezegun import freeze_time from product_review.util import event as event_util @freeze_time("2023-05-17 21:30:17.300290") def test_publish_queue_move_event_success( mocker, app_context, kafka_mock, get_event_ows_content_review_product ): """Test publish_queue_move_event success.""" app_context.g.request_context.identity_id = "some-identity-id" mocker.patch.object(event_util, "log_event") _, expected_message = get_event_ows_content_review_product() event_util.publish_queue_move_event( product_id=456, review_queue_id=123, queue_name="under_investigation", ) kafka_mock.assert_messages([expected_message]) kafka_mock.assert_call_count("produce", 1) kafka_mock.assert_call_count("flush", 1) event_util.log_event.assert_called_once_with(None, kafka_mock.history.messages[0]) @freeze_time("2023-05-17 21:30:17.300290") def test_publish_queue_move_event_error( mocker, app_context, kafka_mock, get_event_ows_content_review_product ): """Test publish_queue_move_event error.""" app_context.g.request_context.identity_id = "some-identity-id" mocker.patch.object(event_util, "log_event") kafka_mock.set_return_error(True) expected_error, expected_message = get_event_ows_content_review_product( has_error=True ) event_util.publish_queue_move_event( product_id=456, review_queue_id=123, queue_name="under_investigation", ) kafka_mock.assert_messages([expected_message]) kafka_mock.assert_call_count("produce", 1) kafka_mock.assert_call_count("flush", 1) event_util.log_event.assert_called_once_with( expected_error, kafka_mock.history.messages[0] ) def test_log_event_with_error(app_context): """Test log_event with error.""" event_util.log_event("some error", "some message") app_context.g.log.error.assert_called_once_with("some error") app_context.g.log.info.assert_called_once_with("some message") def test_log_event_without_error(app_context): """Test log_event without error.""" event_util.log_event(None, "some message") app_context.g.log.error.assert_not_called() app_context.g.log.info.assert_called_once_with("some message")