61 lines
1.5 KiB
Python
61 lines
1.5 KiB
Python
"""Tests for Logger"""
|
|
|
|
import os
|
|
import pytest
|
|
from io import StringIO
|
|
|
|
from oss.logger.logger import Logger, Log
|
|
|
|
|
|
class TestLogger:
|
|
def test_logger_initialization(self):
|
|
logger = Logger()
|
|
assert logger is not None
|
|
|
|
def test_logger_warn(self):
|
|
logger = Logger()
|
|
logger.warn("Test warning")
|
|
# 不抛出异常即通过
|
|
|
|
def test_logger_debug(self):
|
|
logger = Logger()
|
|
logger.debug("Test debug")
|
|
# 不抛出异常即通过
|
|
|
|
def test_logger_warn_with_tag(self):
|
|
logger = Logger()
|
|
logger.warn("Test warning", tag="TEST")
|
|
# 不抛出异常即通过
|
|
|
|
def test_logger_debug_with_tag(self):
|
|
logger = Logger()
|
|
logger.debug("Test debug", tag="TEST")
|
|
# 不抛出异常即通过
|
|
|
|
def test_get_log_format_json(self):
|
|
# Logger 类没有 _get_log_format 方法,测试 Log 类的基本功能
|
|
assert Log is not None
|
|
|
|
def test_logger_json_format(self):
|
|
logger = Logger()
|
|
assert logger is not None
|
|
|
|
def test_logger_output(self):
|
|
log_capture = StringIO()
|
|
|
|
# 测试 Log 类的输出
|
|
import sys
|
|
old_stdout = sys.stdout
|
|
sys.stdout = log_capture
|
|
try:
|
|
Log.info("test", "Test message")
|
|
output = log_capture.getvalue().strip()
|
|
assert "[test]" in output
|
|
assert "Test message" in output
|
|
finally:
|
|
sys.stdout = old_stdout
|
|
|
|
|
|
if __name__ == '__main__':
|
|
pytest.main([__file__, '-v'])
|