feat(huya): 客服开放精英宝典工作台与外部 CK 导入

This commit is contained in:
yml2213
2026-11-09 11:09:01 +08:00
parent 6b2285913f
commit 070a7954e7
8 changed files with 38 additions and 6 deletions
+20
View File
@@ -1,8 +1,13 @@
"""工作台「导入外部 CK」:入库 + 自动加入工作台 + 归属导入者。"""
import pytest
from fastapi import HTTPException
from tests.support.db import get_test_engine, make_test_session
from web.backend.models import HuyaAccount, HuyaWorkbench, HuyaWorkbenchAccount, User
from web.backend.permissions import ROLE_PERMISSIONS
from web.backend.routers.huya import import_workbench_cookies
from web.backend.routers.huya._common import _require_huya_workbench_import_ck
from web.backend.schemas import HuyaWorkbenchCookieImport
COOKIE_1 = (
@@ -79,3 +84,18 @@ class TestImportExternalCkToWorkbench:
assert result["account_ids"] == []
assert self.session.query(HuyaAccount).count() == 0
assert self.session.query(HuyaWorkbench).count() == 0
def test_support_can_import_workbench_ck_by_default(self):
"""客服默认允许工作台导入外部 CK,但旧 huya:import 仍只属于运营。"""
assert "huya:elite:import_ck" in ROLE_PERMISSIONS["support"]
assert "huya:elite:import_ck" not in ROLE_PERMISSIONS["operation"]
support = User(username="cs", password_hash="hash", role="support")
operation = User(username="op", password_hash="hash", role="operation")
guest = User(username="guest", password_hash="hash", role="guest")
assert _require_huya_workbench_import_ck(support) is None
assert _require_huya_workbench_import_ck(operation) is None
with pytest.raises(HTTPException) as excinfo:
_require_huya_workbench_import_ck(guest)
assert excinfo.value.status_code == 403