test(parser): add test for parse_log_line()
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
import re
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from logwatcher.config import FIXTURE_PATH
|
||||||
|
from logwatcher.parser import parse_log_line
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(name="log_data")
|
||||||
|
def load_logs_fixture() -> dict[str, list[str]]:
|
||||||
|
file_content_list: dict[str, list[str]] = {}
|
||||||
|
|
||||||
|
for file_path in FIXTURE_PATH.iterdir():
|
||||||
|
with open(file_path, 'r') as file:
|
||||||
|
file_content_list[file_path.name] = []
|
||||||
|
for line in file:
|
||||||
|
if re.match(r"\\\\", line):
|
||||||
|
file_content_list[file_path.name].append(line)
|
||||||
|
|
||||||
|
return file_content_list
|
||||||
|
|
||||||
|
def test_create_log_entry(log_data: dict[str, list[str]]):
|
||||||
|
for log_list in log_data.values():
|
||||||
|
for log in log_list:
|
||||||
|
log_entry = parse_log_line(log)
|
||||||
|
if log_entry:
|
||||||
|
assert log_entry.server_ip is not None
|
||||||
|
assert log_entry.mdc_server_name is not None
|
||||||
|
assert log_entry.start_time is not None
|
||||||
|
assert log_entry.store_name is not None
|
||||||
|
assert log_entry.error_time is not None
|
||||||
|
assert log_entry.error_message is not None
|
||||||
|
assert log_entry.raw_line != ''
|
||||||
Reference in New Issue
Block a user