중복 문서
Alice works at Acme in Berlin. The ontology platform keeps evidence spans.
Alice works at Acme in Berlin. The ontology platform keeps evidence spans.
Alice works at Acme in Berlin. The ontology platform keeps evidence spans.
from __future__ import annotations
from pathlib import Path
from ont_platform.core.extraction.schemas import SourceDocumentSchema
from ont_platform.core.extractors.web_extractor import WebExtractor, extract_web_content
FIXTURES = Path(__file__).resolve().parents[1] / "fixtures" / "korean"
def test_extract_from_korean_html_preserves_document_contract() -> None:
html = (FIXTURES / "news_yonhap.html").read_text(encoding="utf-8")
extracted = WebExtractor().extract_from_html(
html,
source_url="https://example.test/news/data-quality?utm=tracking",
)
assert "공공 데이터 품질 관리 체계" in extracted.text
assert extracted.title == "정부, 공공 데이터 품질 관리 체계 확대"
assert extracted.language == "ko"
assert extracted.canonical_url == "https://example.test/news/data-quality"
assert extracted.content_hash
assert extracted.fingerprint.startswith("sha1:")
assert extracted.body_xml
assert extracted.metadata["source"] == "trafilatura"
def test_same_clean_body_gets_same_hash_and_fingerprint() -> None:
body = """
Alice works at Acme in Berlin. The ontology platform keeps evidence spans. Alice works at Acme in Berlin. The ontology platform keeps evidence spans. Alice works at Acme in Berlin. The ontology platform keeps evidence spans.중복 문서