def test_ConvertAbslLogToProtos_num_records(): p = logutil.ConertAbslLogToProtos("""\ I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, info! W0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, warning! I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello ... multiline! E0527 23:14:18.903151 1407 log_to_file.py:31] Hello, error! F0527 23:14:18.903151 1 log_to_file.py:31] Hello, fatal! """) assert 5 == len(p)
def test_ConvertAbslLogToProtos_levels(): p = logutil.ConertAbslLogToProtos("""\ I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, info! W0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, warning! I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello ... multiline! E0527 23:14:18.903151 1407 log_to_file.py:31] Hello, error! F0527 23:14:18.903151 1 log_to_file.py:31] Hello, fatal! """) assert p[0].level == logging_pb2.LogRecord.INFO assert p[1].level == logging_pb2.LogRecord.WARNING assert p[2].level == logging_pb2.LogRecord.INFO assert p[3].level == logging_pb2.LogRecord.ERROR assert p[4].level == logging_pb2.LogRecord.FATAL
def test_ConvertAbslLogToProtos_line_number(): p = logutil.ConertAbslLogToProtos("""\ I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, info! W0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, warning! I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello ... multiline! E0527 23:14:18.903151 1407 log_to_file.py:31] Hello, error! F0527 23:14:18.903151 1 log_to_file.py:31] Hello, fatal! """) assert p[0].line_number == 31 assert p[1].line_number == 31 assert p[2].line_number == 31 assert p[3].line_number == 31 assert p[4].line_number == 31
def test_ConvertAbslLogToProtos_message(): p = logutil.ConertAbslLogToProtos("""\ I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, info! W0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, warning! I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello ... multiline! E0527 23:14:18.903151 1407 log_to_file.py:31] Hello, error! F0527 23:14:18.903151 1 log_to_file.py:31] Hello, fatal! I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Goodbye ... multiline! """) assert p[0].message == 'Hello, info!' assert p[1].message == 'Hello, warning!' assert p[2].message == 'Hello ...\n\nmultiline!' assert p[3].message == 'Hello, error!' assert p[4].message == 'Hello, fatal!' assert p[5].message == 'Goodbye ...\nmultiline!'
def test_ConvertAbslLogToProtos_date_utc_epoch_ms(): p = logutil.ConertAbslLogToProtos("""\ I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, info! W0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, warning! I0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello ... multiline! E0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, error! F0527 23:14:18.903151 140735784891328 log_to_file.py:31] Hello, fatal! """) assert p[0].date_utc_epoch_ms == 1527462858903 assert p[1].date_utc_epoch_ms == 1527462858903 assert p[2].date_utc_epoch_ms == 1527462858903 assert p[3].date_utc_epoch_ms == 1527462858903 assert p[4].date_utc_epoch_ms == 1527462858903 dt = labdate.DatetimeFromMillisecondsTimestamp(p[0].date_utc_epoch_ms) assert dt.year == datetime.datetime.utcnow().year assert dt.month == 5 assert dt.day == 27 assert dt.hour == 23 assert dt.minute == 14 assert dt.second == 18 # Microsecond precision has been reduced to millisecond. assert dt.microsecond == 903000
def test_ConvertAbslLogToProtos_empty_input(): assert not logutil.ConertAbslLogToProtos('')