@@ -264,11 +264,62 @@ def test__main_thread_terminated_did_not_join(self):
264264 self .assertFalse (worker .is_alive )
265265
266266 @staticmethod
267- def _enqueue_record (worker , message ):
268- record = logging .LogRecord (
269- "python_logger" , logging .INFO , None , None , message , None , None
267+ def _enqueue_record (worker , message , levelno = logging .INFO , ** kw ):
268+ record = logging .LogRecord ("testing" , levelno , None , None , message , None , None )
269+ worker .enqueue (record , message , ** kw )
270+
271+ def test_enqueue_defaults (self ):
272+ import datetime
273+ from google .cloud .logging ._helpers import LogSeverity
274+
275+ worker = self ._make_one (_Logger (self .NAME ))
276+ self .assertTrue (worker ._queue .empty ())
277+ message = "TEST SEVERITY"
278+
279+ self ._enqueue_record (worker , message )
280+
281+ entry = worker ._queue .get_nowait ()
282+ expected_info = {"message" : message , "python_logger" : "testing" }
283+ self .assertEqual (entry ["info" ], expected_info )
284+ self .assertEqual (entry ["severity" ], LogSeverity .INFO )
285+ self .assertIsNone (entry ["resource" ])
286+ self .assertIsNone (entry ["labels" ])
287+ self .assertIsNone (entry ["trace" ])
288+ self .assertIsNone (entry ["span_id" ])
289+ self .assertIsInstance (entry ["timestamp" ], datetime .datetime )
290+
291+ def test_enqueue_explicit (self ):
292+ import datetime
293+ from google .cloud .logging ._helpers import LogSeverity
294+
295+ worker = self ._make_one (_Logger (self .NAME ))
296+ self .assertTrue (worker ._queue .empty ())
297+ message = "TEST SEVERITY"
298+ resource = object ()
299+ labels = {"foo" : "bar" }
300+ trace = "TRACE"
301+ span_id = "SPAN_ID"
302+
303+ self ._enqueue_record (
304+ worker ,
305+ message ,
306+ levelno = logging .ERROR ,
307+ resource = resource ,
308+ labels = labels ,
309+ trace = trace ,
310+ span_id = span_id ,
270311 )
271- worker .enqueue (record , message )
312+
313+ entry = worker ._queue .get_nowait ()
314+
315+ expected_info = {"message" : message , "python_logger" : "testing" }
316+ self .assertEqual (entry ["info" ], expected_info )
317+ self .assertEqual (entry ["severity" ], LogSeverity .ERROR )
318+ self .assertIs (entry ["resource" ], resource )
319+ self .assertIs (entry ["labels" ], labels )
320+ self .assertIs (entry ["trace" ], trace )
321+ self .assertIs (entry ["span_id" ], span_id )
322+ self .assertIsInstance (entry ["timestamp" ], datetime .datetime )
272323
273324 def test__thread_main (self ):
274325 from google .cloud .logging .handlers .transports import background_thread
0 commit comments