1414import pytest
1515
1616TEST_MID = uuid .UUID ('8441372f8dca4ca98694a6091fd8519f' )
17+ TEST_MID2 = uuid .UUID ('8441370000000000000000001fd85000' )
1718
1819class 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
98149def test_reader_init_flags ():
99150 j1 = journal .Reader ()
0 commit comments