fix(search): review ambiguous topic assignments

This commit is contained in:
2026-09-14 10:31:45 +03:00
parent a1b4787930
commit 5f44981bd3
4 changed files with 2749 additions and 2732 deletions

View File

@@ -5,10 +5,13 @@ import unittest
from contextlib import closing
from pathlib import Path
from tools.build_search_topic_taxonomy import build
from tools.build_search_topic_taxonomy import build, group_for
class SearchTopicTaxonomyTest(unittest.TestCase):
def test_ambiguous_roots_are_left_for_manual_review(self):
self.assertEqual(group_for("Иностранные инвестиции"), "review_required")
def test_preserves_source_tree_counts_and_marks_unclassified_roots(self):
with tempfile.TemporaryDirectory() as temporary:
root = Path(temporary)
@@ -51,6 +54,18 @@ class SearchTopicTaxonomyTest(unittest.TestCase):
self.assertEqual(groups["review_required"]["children"][0]["grouping_status"], "manual_review")
self.assertEqual(catalog["nodes_missing_kyrgyz_label"], 2)
def test_rebuild_fails_instead_of_omitting_successful_manifest_document(self):
with tempfile.TemporaryDirectory() as temporary:
root = Path(temporary)
(root / "documents/1").mkdir(parents=True)
with closing(sqlite3.connect(root / "manifest.sqlite3")) as db:
db.execute("CREATE TABLE documents (code TEXT, state TEXT)")
db.execute("INSERT INTO documents VALUES ('1', 'success')")
db.commit()
with self.assertRaisesRegex(RuntimeError, "normalized document 1"):
build(root)
if __name__ == "__main__":
unittest.main()