Skip to content

Commit aa5550a

Browse files
committed
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 ============================
1 parent 0885748 commit aa5550a

File tree

1 file changed

+52
-1
lines changed

1 file changed

+52
-1
lines changed

systemd/test/test_journal.py

Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import pytest
1515

1616
TEST_MID = uuid.UUID('8441372f8dca4ca98694a6091fd8519f')
17+
TEST_MID2 = uuid.UUID('8441370000000000000000001fd85000')
1718

1819
class MockSender:
1920
def __init__(self):
@@ -28,7 +29,7 @@ def send(self, MESSAGE, MESSAGE_ID=None,
2829
id = getattr(MESSAGE_ID, 'hex', MESSAGE_ID)
2930
args.append('MESSAGE_ID=' + id)
3031

31-
if CODE_LINE == CODE_FILE == CODE_FUNC == None:
32+
if CODE_LINE is CODE_FILE is CODE_FUNC is None:
3233
CODE_FILE, CODE_LINE, CODE_FUNC = _traceback.extract_stack(limit=2)[0][:3]
3334
if CODE_FILE is not None:
3435
args.append('CODE_FILE=' + CODE_FILE)
@@ -94,6 +95,56 @@ def test_journalhandler_info():
9495
handler = journal.JournalHandler(logging.INFO, **kw)
9596
handler.emit(record)
9697
assert len(sender.buf) == 1
98+
assert 'X=3' in sender.buf[0]
99+
assert 'X3=4' in sender.buf[0]
100+
101+
def test_journalhandler_no_message_id():
102+
record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
103+
sender = MockSender()
104+
handler = journal.JournalHandler(logging.INFO, sender_function=sender.send)
105+
handler.emit(record)
106+
assert len(sender.buf) == 1
107+
assert all(not m.startswith('MESSAGE_ID=') for m in sender.buf[0])
108+
109+
def test_journalhandler_message_id_on_handler():
110+
pytest.xfail()
111+
record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
112+
sender = MockSender()
113+
handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
114+
MESSAGE_ID=TEST_MID)
115+
handler.emit(record)
116+
assert len(sender.buf) == 1
117+
assert 'MESSAGE_ID=' + TEST_MID.hex in sender.buf[0]
118+
119+
def test_journalhandler_message_id_on_handler_hex():
120+
record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
121+
sender = MockSender()
122+
handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
123+
MESSAGE_ID=TEST_MID.hex)
124+
handler.emit(record)
125+
assert len(sender.buf) == 1
126+
assert 'MESSAGE_ID=' + TEST_MID.hex in sender.buf[0]
127+
128+
def test_journalhandler_message_id_on_message():
129+
pytest.xfail()
130+
record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
131+
record.__dict__['MESSAGE_ID'] = TEST_MID2
132+
sender = MockSender()
133+
handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
134+
MESSAGE_ID=TEST_MID)
135+
handler.emit(record)
136+
assert len(sender.buf) == 1
137+
assert 'MESSAGE_ID=' + TEST_MID2.hex in sender.buf[0]
138+
139+
def test_journalhandler_message_id_on_message_hex():
140+
record = logging.LogRecord('test-logger', logging.INFO, 'testpath', 1, 'test', None, None)
141+
record.__dict__['MESSAGE_ID'] = TEST_MID2.hex
142+
sender = MockSender()
143+
handler = journal.JournalHandler(logging.INFO, sender_function=sender.send,
144+
MESSAGE_ID=TEST_MID)
145+
handler.emit(record)
146+
assert len(sender.buf) == 1
147+
assert 'MESSAGE_ID=' + TEST_MID2.hex in sender.buf[0]
97148

98149
def test_reader_init_flags():
99150
j1 = journal.Reader()

0 commit comments

Comments
 (0)