Track bundled vendor runtime sources
This commit is contained in:
45
vendor/social-auto-upload/tests/test_sau_bilibili_cli.py
vendored
Normal file
45
vendor/social-auto-upload/tests/test_sau_bilibili_cli.py
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
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)
|
||||
|
||||
def test_login_bilibili_account_returns_friendly_message_without_terminal(self):
|
||||
with patch("sau_cli.has_interactive_terminal", return_value=False):
|
||||
result = asyncio.run(sau_cli.login_bilibili_account("creator"))
|
||||
self.assertFalse(result["success"])
|
||||
self.assertIn("local interactive terminal", result["message"].lower())
|
||||
self.assertIn("qrcode.png", result["message"].lower())
|
||||
Reference in New Issue
Block a user