start project
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"""Regression test against real production log samples (Chapter 12): both
|
||||
files were provided during development after a real cPanel deployment and
|
||||
confirmed to parse cleanly with zero failures against the default
|
||||
Combined-format parser. Locked in here so a future change can't silently
|
||||
break compatibility with this real-world data.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from app.services.log_parser.apache import combined_parser
|
||||
|
||||
FIXTURES_DIR = Path(__file__).parent / "fixtures"
|
||||
|
||||
|
||||
def _count_parse_failures(path: Path) -> tuple[int, int]:
|
||||
parser = combined_parser()
|
||||
total = 0
|
||||
failed = 0
|
||||
with path.open(encoding="utf-8", errors="replace") as f:
|
||||
for line in f:
|
||||
total += 1
|
||||
if parser.parse_line(line) is None:
|
||||
failed += 1
|
||||
return total, failed
|
||||
|
||||
|
||||
def test_ssl_log_fixture_parses_with_zero_failures():
|
||||
total, failed = _count_parse_failures(FIXTURES_DIR / "hemmatitasks.ir-ssl_log")
|
||||
assert total == 222
|
||||
assert failed == 0
|
||||
|
||||
|
||||
def test_plain_log_fixture_parses_with_zero_failures():
|
||||
total, failed = _count_parse_failures(FIXTURES_DIR / "hemmatitasks.ir")
|
||||
assert total == 66
|
||||
assert failed == 0
|
||||
Reference in New Issue
Block a user