Files
BiliNote/backend/tests/test_note_helper.py
CyanAutumn d9a7b89e7d 🐞 fix: 增加错误之后对已解析段落的缓存功能,再次重试时不再重头开始
解析长视频时,当附件大小过大时不再调用后进行报错,而是将附件进行分批次发送

在每篇笔记开头默认增加地址来源链接,对模糊处可溯源
2026-02-12 18:28:11 +08:00

36 lines
1.2 KiB
Python

import importlib.util
import pathlib
import unittest
ROOT = pathlib.Path(__file__).resolve().parents[1]
MODULE_PATH = ROOT / "app" / "utils" / "note_helper.py"
spec = importlib.util.spec_from_file_location("note_helper", MODULE_PATH)
if spec is None or spec.loader is None:
raise ImportError("note_helper module spec not found")
note_helper = importlib.util.module_from_spec(spec)
spec.loader.exec_module(note_helper)
class TestNoteHelper(unittest.TestCase):
def test_prepend_source_link_adds_header_at_top(self):
source_url = "https://www.bilibili.com/video/BV1xx411c7mD"
markdown = "## 标题\n\n内容"
result = note_helper.prepend_source_link(markdown, source_url)
self.assertTrue(result.startswith(f"> 来源链接:{source_url}\n\n"))
self.assertIn("## 标题", result)
def test_prepend_source_link_does_not_duplicate_when_header_exists(self):
source_url = "https://www.youtube.com/watch?v=abc123"
markdown = f"> 来源链接:{source_url}\n\n## 标题\n\n内容"
result = note_helper.prepend_source_link(markdown, source_url)
self.assertEqual(result, markdown)
if __name__ == "__main__":
unittest.main()