fix(web): distinguish YouTube videos from Shorts
This commit is contained in:
@@ -96,6 +96,43 @@ class WebSearchMcpTests(unittest.TestCase):
|
||||
self.assertEqual(result["results"][0]["title"], "Newest")
|
||||
ytdlp.assert_not_called()
|
||||
|
||||
def test_latest_long_youtube_uses_verified_videos_tab(self) -> None:
|
||||
row = {
|
||||
"title": "Newest long video",
|
||||
"url": "https://www.youtube.com/watch?v=long123",
|
||||
"content_type": "long",
|
||||
"content_type_verified": True,
|
||||
"source_kind": "youtube_videos_tab",
|
||||
}
|
||||
with (
|
||||
mock.patch.object(
|
||||
WEB,
|
||||
"resolve_youtube_channel",
|
||||
return_value="https://www.youtube.com/channel/UCcem9I78ybZLHLRUlkUO3sw",
|
||||
),
|
||||
mock.patch.object(WEB, "youtube_tab_records", return_value=[row]) as tab,
|
||||
mock.patch.object(WEB, "youtube_feed_records") as feed,
|
||||
):
|
||||
result = WEB.web_youtube({
|
||||
"query": "The Proper People",
|
||||
"mode": "latest",
|
||||
"content_type": "long",
|
||||
})
|
||||
tab.assert_called_once_with(
|
||||
"https://www.youtube.com/channel/UCcem9I78ybZLHLRUlkUO3sw", "long", 5
|
||||
)
|
||||
feed.assert_not_called()
|
||||
self.assertEqual(result["content_type_filter"], "long")
|
||||
self.assertTrue(result["results"][0]["content_type_verified"])
|
||||
|
||||
def test_youtube_rejects_content_filter_outside_latest_mode(self) -> None:
|
||||
with self.assertRaisesRegex(ValueError, "only supported with mode=latest"):
|
||||
WEB.web_youtube({
|
||||
"query": "The Proper People",
|
||||
"mode": "search",
|
||||
"content_type": "long",
|
||||
})
|
||||
|
||||
def test_web_read_does_not_consume_search_loop_budget(self) -> None:
|
||||
page = {"url": "https://example.com/a", "page_evidence": ["Evidence"]}
|
||||
with mock.patch.object(WEB, "scrape", return_value=[page]):
|
||||
|
||||
Reference in New Issue
Block a user