chore: update gitignore; feat: 新增customer_agent业务模块与api路由
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import unittest
|
||||
from types import SimpleNamespace
|
||||
|
||||
from api.deps import require_knowledge_operator
|
||||
from utils.exceptions import ForbiddenError
|
||||
|
||||
|
||||
class KnowledgeAuthTests(unittest.IsolatedAsyncioTestCase):
|
||||
async def test_allows_admin_or_knowledge_operator(self):
|
||||
admin = SimpleNamespace(user_type="ADMIN", employee_role=None)
|
||||
operator = SimpleNamespace(user_type="EMPLOYEE", employee_role="KNOWLEDGE_OPERATOR")
|
||||
|
||||
self.assertIs(await require_knowledge_operator(admin), admin)
|
||||
self.assertIs(await require_knowledge_operator(operator), operator)
|
||||
|
||||
async def test_rejects_customer_and_unrelated_employee(self):
|
||||
with self.assertRaises(ForbiddenError):
|
||||
await require_knowledge_operator(
|
||||
SimpleNamespace(user_type="CUSTOMER", employee_role=None)
|
||||
)
|
||||
with self.assertRaises(ForbiddenError):
|
||||
await require_knowledge_operator(
|
||||
SimpleNamespace(user_type="EMPLOYEE", employee_role="ADVISOR")
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user