diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-03-19 13:12:20 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-03-19 15:06:19 -0400 |
commit | aa5550a9b7bb6fc0297c2f1bcb404daed1496251 (patch) | |
tree | b5c6ea64f4534fb8b4536a9a494477297ffe4a90 | |
parent | 08857486e6f6b2caa5556ac20c9e1c8bd870f292 (diff) | |
download | python-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.py | 53 |
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() |