summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-03-19 13:12:20 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-03-19 15:06:19 -0400
commitaa5550a9b7bb6fc0297c2f1bcb404daed1496251 (patch)
treeb5c6ea64f4534fb8b4536a9a494477297ffe4a90
parent08857486e6f6b2caa5556ac20c9e1c8bd870f292 (diff)
downloadpython-systemd-aa5550a9b7bb6fc0297c2f1bcb404daed1496251.tar.gz
test_journal: add tests for MESSAGE_ID passing
MESSAGE_ID passing was broken before previous commit: TypeError: send() got multiple values for keyword argument 'MESSAGE_ID' With the previous commit it's broken differently: ______________________________ test_journalhandler_message_id_on_handler _______________________________ def test_journalhandler_message_id_on_handler(): record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None) sender = MockSender() handler = journal.JournalHandler(logging.INFO, sender_function=sender.send, MESSAGE_ID=TEST_MID) handler.emit(record) assert len(sender.buf) == 1 > assert 'MESSAGE_ID=' + TEST_MID.hex in sender.buf[0] E assert ('MESSAGE_ID=' + '8441372f8dca4ca98694a6091fd8519f') in ['MESSAGE=test', 'MESSAGE_ID=8441372f-8dca-4ca9-8694-a6091fd8519f', 'CODE_FILE=testpath', 'CODE_LINE=1', 'name=test-logger', 'exc_info=None', ...] E + where '8441372f8dca4ca98694a6091fd8519f' = UUID('8441372f-8dca-4ca9-8694-a6091fd8519f').hex systemd/test/test_journal.py:116: AssertionError ______________________________ test_journalhandler_message_id_on_message _______________________________ def test_journalhandler_message_id_on_message(): record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None) record.__dict__['MESSAGE_ID'] = TEST_MID2 sender = MockSender() handler = journal.JournalHandler(logging.INFO, sender_function=sender.send, MESSAGE_ID=TEST_MID) handler.emit(record) assert len(sender.buf) == 1 > assert 'MESSAGE_ID=' + TEST_MID2.hex in sender.buf[0] E assert ('MESSAGE_ID=' + '8441370000000000000000001fd85000') in ['MESSAGE=test', 'MESSAGE_ID=84413700-0000-0000-0000-00001fd85000', 'CODE_FILE=testpath', 'CODE_LINE=1', 'name=test-logger', 'exc_info=None', ...] E + where '8441370000000000000000001fd85000' = UUID('84413700-0000-0000-0000-00001fd85000').hex systemd/test/test_journal.py:135: AssertionError ============================ 2 failed, 53 passed, 6 skipped in 0.16 seconds ============================
-rw-r--r--systemd/test/test_journal.py53
1 files changed, 52 insertions, 1 deletions
diff --git a/systemd/test/test_journal.py b/systemd/test/test_journal.py
index 93b966e..9b65069 100644
--- a/systemd/test/test_journal.py
+++ b/systemd/test/test_journal.py
@@ -14,6 +14,7 @@ from systemd.journal import _make_line
import pytest
TEST_MID = uuid.UUID('8441372f8dca4ca98694a6091fd8519f')
+TEST_MID2 = uuid.UUID('8441370000000000000000001fd85000')
class MockSender:
def __init__(self):
@@ -28,7 +29,7 @@ class MockSender:
id = getattr(MESSAGE_ID, 'hex', MESSAGE_ID)
args.append('MESSAGE_ID=' + id)
- if CODE_LINE == CODE_FILE == CODE_FUNC == None:
+ if CODE_LINE is CODE_FILE is CODE_FUNC is None:
CODE_FILE, CODE_LINE, CODE_FUNC = _traceback.extract_stack(limit=2)[0][:3]
if CODE_FILE is not None:
args.append('CODE_FILE=' + CODE_FILE)
@@ -94,6 +95,56 @@ def test_journalhandler_info():
handler = journal.JournalHandler(logging.INFO, **kw)
handler.emit(record)
assert len(sender.buf) == 1
+ assert 'X=3' in sender.buf[0]
+ assert 'X3=4' in sender.buf[0]
+
+def test_journalhandler_no_message_id():
+ record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
+ sender = MockSender()
+ handler = journal.JournalHandler(logging.INFO, sender_function=sender.send)
+ handler.emit(record)
+ assert len(sender.buf) == 1
+ assert all(not m.startswith('MESSAGE_ID=') for m in sender.buf[0])
+
+def test_journalhandler_message_id_on_handler():
+ pytest.xfail()
+ record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
+ sender = MockSender()
+ handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
+ MESSAGE_ID=TEST_MID)
+ handler.emit(record)
+ assert len(sender.buf) == 1
+ assert 'MESSAGE_ID=' + TEST_MID.hex in sender.buf[0]
+
+def test_journalhandler_message_id_on_handler_hex():
+ record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
+ sender = MockSender()
+ handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
+ MESSAGE_ID=TEST_MID.hex)
+ handler.emit(record)
+ assert len(sender.buf) == 1
+ assert 'MESSAGE_ID=' + TEST_MID.hex in sender.buf[0]
+
+def test_journalhandler_message_id_on_message():
+ pytest.xfail()
+ record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
+ record.__dict__['MESSAGE_ID'] = TEST_MID2
+ sender = MockSender()
+ handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
+ MESSAGE_ID=TEST_MID)
+ handler.emit(record)
+ assert len(sender.buf) == 1
+ assert 'MESSAGE_ID=' + TEST_MID2.hex in sender.buf[0]
+
+def test_journalhandler_message_id_on_message_hex():
+ record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
+ record.__dict__['MESSAGE_ID'] = TEST_MID2.hex
+ sender = MockSender()
+ handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
+ MESSAGE_ID=TEST_MID)
+ handler.emit(record)
+ assert len(sender.buf) == 1
+ assert 'MESSAGE_ID=' + TEST_MID2.hex in sender.buf[0]
def test_reader_init_flags():
j1 = journal.Reader()