dify_admin/api/tests/test_tenants.py
xh.xin 96480a27a9 初始化项目仓库,包含基础结构和开发计划
1. 添加README说明项目结构
2. 配置Python和Node.js的.gitignore
3. 包含认证模块和账号管理的前后端基础代码
4. 开发计划文档记录当前阶段任务
2025-05-02 18:33:06 +08:00

45 lines
1.6 KiB
Python

import pytest
from fastapi import status
from tenant_manager import TenantManager
def test_create_tenant(client, auth_headers, mocker_fixture):
"""测试创建租户"""
# 获取mock对象
mock_create = TenantManager.create_tenant
response = client.post("/api/tenants/", json={
"name": "testtenant",
"description": "测试租户"
}, headers=auth_headers)
# 验证mock调用
mock_create.assert_called_once_with("testtenant")
assert response.status_code == status.HTTP_200_OK
assert response.json()["message"] == "租户创建成功"
def test_list_tenants(client, auth_headers, mocker_fixture):
"""测试获取租户列表"""
response = client.get("/api/tenants/", headers=auth_headers)
assert response.status_code == status.HTTP_200_OK
assert isinstance(response.json(), list)
def test_get_tenant(client, auth_headers, mocker_fixture):
"""测试获取特定租户"""
# 获取mock对象
mock_get = TenantManager.get_tenant_by_name
response = client.get("/api/tenants/testtenant", headers=auth_headers)
# 验证mock调用
mock_get.assert_called_once_with("testtenant")
assert response.status_code == status.HTTP_200_OK
assert "name" in response.json()["tenant"]
def test_tenant_not_found(client, auth_headers, mocker_fixture):
"""测试租户不存在"""
# 修改mock抛出404异常
TenantManager.get_tenant_by_name.side_effect = Exception("404: 租户不存在")
response = client.get("/api/tenants/nonexistent", headers=auth_headers)
assert response.status_code == status.HTTP_404_NOT_FOUND