返回 last30days-skill
test_pipeline_finalize.py
根目录 / tests / test_pipeline_finalize.py
1 """Report finalize collapses same-URL copies of a thread and keeps enrichment."""
2
3 from lib import pipeline, schema
4
5
6 def _item(item_id, url, rank, comments=None):
7 item = schema.SourceItem(
8 item_id=item_id,
9 source="reddit",
10 title="Kanye West's sold-out Russia shows canceled",
11 body="Kanye West's sold-out Russia shows canceled",
12 url=url,
13 metadata={"top_comments": comments or []},
14 )
15 item.local_rank_score = rank
16 return item
17
18
19 def test_finalize_merges_same_url_copies_and_keeps_comments():
20 url = "https://www.reddit.com/r/Music/comments/1vy0ilk/kanye_wests_soldout_russia/"
21 bare = _item("R1", url, 0.677)
22 rich = _item("R1", url, 0.487, comments=[{"score": 3293, "author": "u/tableleg7", "excerpt": "Putin"}])
23
24 finalized = pipeline._finalize_items_by_source({"reddit": [bare, rich]}, topic="kanye west", mock=True)
25
26 items = finalized["reddit"]
27 assert len(items) == 1
28 assert items[0].metadata["top_comments"][0]["score"] == 3293
29
29 lines PYTHON