| 1234567891011121314151617181920212223242526272829 |
- import importlib.util
- from pathlib import Path
- import unittest
- spec = importlib.util.spec_from_file_location('audit', Path(__file__).with_name('audit-unavailable-research.py'))
- m = importlib.util.module_from_spec(spec)
- spec.loader.exec_module(m)
- class SourceAvailabilityTests(unittest.TestCase):
- def test_invisible_or_blocked_is_not_deleted(self):
- self.assertEqual(m.official_bili_state({'code': 62002, 'message': '稿件不可见'}, 200), 'ACCESS_RESTRICTED_NOT_CONFIRMED_REMOVED')
- self.assertEqual(m.official_bili_state({'code': -404}, 403), 'ACCESS_RESTRICTED_NOT_CONFIRMED_REMOVED')
- def test_empty_video_description_still_has_source(self):
- self.assertEqual(m.official_bili_state({'code': 0, 'data': {'bvid': 'BVx', 'desc': '', 'cid': 1}}, 200), 'SOURCE_RECORD_EXISTS')
- def test_proxy_no_video_needs_official_confirmation(self):
- self.assertEqual(m.official_bili_state({'message': 'NO VIDEO'}, 200), 'UNCONFIRMED_RESPONSE')
- self.assertEqual(m.official_bili_state({'code': -404, 'message': '啥都木有'}, 200), 'OFFICIAL_NOT_FOUND_REQUIRES_PAGE_CONFIRMATION')
- def test_page_error_must_be_visible_and_bound_to_original_link(self):
- meta = {'httpStatus': 200, 'finalUrl': 'https://www.bilibili.com/video/BVx'}
- self.assertTrue(m.page_confirms_removed('<main>视频已被删除</main>'.encode(), meta, 'BVx'))
- self.assertFalse(m.page_confirms_removed('<script>视频已被删除</script>'.encode(), meta, 'BVx'))
- self.assertFalse(m.page_confirms_removed('<main>视频已被删除</main>'.encode(), {**meta, 'finalUrl': 'https://passport.bilibili.com/login'}, 'BVx'))
- if __name__ == '__main__': unittest.main()
|