fix: surface match live stream partial failures

This commit is contained in:
hajimi
2026-06-21 12:29:36 +08:00
parent ecef509037
commit a9281f27c7
2 changed files with 13 additions and 2 deletions
+12 -1
View File
@@ -8,7 +8,7 @@ ROOT = Path(__file__).resolve().parents[1]
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
from match_live_stream import choose_next_fetch_at, parse_match_live_detail_html
from match_live_stream import _build_detail_url, choose_next_fetch_at, parse_match_live_detail_html
class MatchLiveStreamTest(unittest.TestCase):
@@ -54,6 +54,17 @@ class MatchLiveStreamTest(unittest.TestCase):
self.assertEqual(parsed["play_url_flv"], "http://b/flv")
self.assertEqual(parsed["play_url_hd_flv"], "http://b/hdflv")
def test_build_detail_url_derives_room_id_from_source_url(self):
detail_url = _build_detail_url(
"https://yyzb1.tv/room/7988511?scheduleId=undefined",
now_ts=123456,
)
self.assertEqual(
detail_url,
"https://json.ncctrials.com/room/7988511/detail.json?v=123456",
)
def test_choose_next_fetch_at_uses_60s_for_empty_streams(self):
self.assertEqual(choose_next_fetch_at(now_ts=1000, has_existing_stream=False), 1060)