← Về thư mục
scripts/test_arxiv_client.py
- _atom · function · L20-L28 — def _atom(entries: list[str]) -> bytes
- _entry · function · L31-L39 — def _entry(title: str, arxiv_url: str = "http://arxiv.org/abs/1706.03762v5", published: str = "2017-06-12T00:00:00Z") -> str
- _mock_resp · function · L42-L47 — def _mock_resp(body: bytes) -> MagicMock
- test_title_search_match_at_threshold · function · L50-L60 — def test_title_search_match_at_threshold()
- test_title_search_no_match_below_threshold · function · L63-L72 — def test_title_search_no_match_below_threshold()
- test_title_search_empty_feed_returns_none · function · L75-L84 — def test_title_search_empty_feed_returns_none()
- test_arxiv_id_lookup_with_title_cross_check · function · L87-L99 — def test_arxiv_id_lookup_with_title_cross_check()
- test_arxiv_id_lookup_with_matching_title · function · L102-L115 — def test_arxiv_id_lookup_with_matching_title()
- test_arxiv_id_lookup_empty_feed_is_miss · function · L118-L130 — def test_arxiv_id_lookup_empty_feed_is_miss()
- test_arxiv_id_with_version_suffix_resolves · function · L133-L153 — def test_arxiv_id_with_version_suffix_resolves()
- mock_urlopen · function · L141-L143 — def mock_urlopen(req, a, *k)
- test_arxiv_id_as_full_url_falls_through_to_title · function · L156-L180 — def test_arxiv_id_as_full_url_falls_through_to_title()
- mock_urlopen · function · L168-L169 — def mock_urlopen(a, *k)
- test_title_search_empty_title_is_miss_not_crash · function · L183-L193 — def test_title_search_empty_title_is_miss_not_crash()
- test_title_search_prefers_matching_year · function · L196-L209 — def test_title_search_prefers_matching_year()
- test_429_backs_off_at_tou_pacing_floor · function · L212-L236 — def test_429_backs_off_at_tou_pacing_floor(monkeypatch)
- mock_urlopen · function · L220-L225 — def mock_urlopen(args, *kwargs)
- test_5xx_skips_immediately · function · L239-L257 — def test_5xx_skips_immediately()
- mock_urlopen · function · L245-L250 — def mock_urlopen(args, *kwargs)
- test_network_error_raises_unavailable · function · L260-L270 — def test_network_error_raises_unavailable()
- mock_urlopen · function · L264-L265 — def mock_urlopen(args, *kwargs)
- test_malformed_xml_body_raises_unavailable · function · L273-L290 — def test_malformed_xml_body_raises_unavailable()
- test_non_atom_200_body_raises_unavailable · function · L293-L306 — def test_non_atom_200_body_raises_unavailable()
- test_genuine_empty_atom_feed_is_miss_not_unavailable · function · L309-L318 — def test_genuine_empty_atom_feed_is_miss_not_unavailable()
- test_oserror_during_read_raises_unavailable · function · L321-L334 — def test_oserror_during_read_raises_unavailable()
- test_truncated_read_raises_unavailable · function · L337-L352 — def test_truncated_read_raises_unavailable()
- test_throttle_uses_monotonic_clock · function · L355-L374 — def test_throttle_uses_monotonic_clock(monkeypatch)