"""Unit tests for the FluentHandler class.""" from unittest.mock import ANY, MagicMock from feed_ingestion.util.fluentd_logging_handler import FluentHandler def test_emit(): """Test emit method.""" handler = FluentHandler('https://some/url', 'test_tag') requests_futures_session_post_mock = MagicMock() handler.session.post = requests_futures_session_post_mock record_mock = MagicMock() handler.emit(record_mock) # check some attributes assert hasattr(record_mock, 'created') assert hasattr(record_mock, 'message') requests_futures_session_post_mock.assert_called_with( 'https://some/url', json={ 'tag': 'test_tag', 'timestamp': record_mock.created, 'level': record_mock.levelno, 'level_name': record_mock.levelname, 'message': ANY, 'meta': { 'file_name': record_mock.filename, 'function_name': record_mock.funcName, 'line': record_mock.lineno, 'logger_name': record_mock.name} } )