feat: add bilibili cli commands

This commit is contained in:
home-dev-pookz
2026-03-25 03:44:56 +08:00
parent 7c3e002429
commit 1bc8ae7698
3 changed files with 149 additions and 1 deletions
+38
View File
@@ -0,0 +1,38 @@
import asyncio
import unittest
from argparse import Namespace
from unittest.mock import AsyncMock, patch
import sau_cli
class BilibiliCliTests(unittest.TestCase):
def test_build_parser_accepts_bilibili_login(self):
parser = sau_cli.build_parser()
args = parser.parse_args(["bilibili", "login", "--account", "creator"])
self.assertEqual(args.platform, "bilibili")
self.assertEqual(args.action, "login")
def test_build_parser_requires_tid_for_upload_video(self):
parser = sau_cli.build_parser()
with self.assertRaises(SystemExit):
parser.parse_args(
[
"bilibili",
"upload-video",
"--account",
"creator",
"--file",
"demo.mp4",
"--title",
"hello",
"--desc",
"hello",
]
)
def test_dispatch_bilibili_check_prints_valid(self):
args = Namespace(platform="bilibili", action="check", account="creator")
with patch("sau_cli.check_bilibili_account", new=AsyncMock(return_value=True)):
code = asyncio.run(sau_cli.dispatch(args))
self.assertEqual(code, 0)