root c62156af53 feat(backend): 数字员工平台 B1+B2 批次实现
B1: 项目脚手架 + 数据模型 + 租户管理
- Task 1.1: FastAPI 项目脚手架、SQLite + async SQLAlchemy
- Task 1.2: 7 个数据模型 (Tenant, TenantConfig, DigitalEmployee, Conversation, Message, KnowledgeBase, Document)
- Task 1.3: 租户 CRUD API + LLM 配置(含 API Key AES 加密)

B2: 数字员工配置 + LLM Provider 抽象层
- Task 2.1: 数字员工 CRUD API(关联知识库)
- Task 2.2: BaseLLMProvider 抽象接口 + OpenAI/Qwen Provider
- Task 2.3: Provider 动态实例化 + test-provider 端点

验证: 26 个测试全部通过

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-06 11:29:48 +08:00

30 lines
688 B
Python

import pytest
from sqlalchemy import inspect
from app.database import Base
from app.models import (
Conversation,
DigitalEmployee,
Document,
KnowledgeBase,
Tenant,
TenantConfig,
)
from tests.conftest import test_engine
@pytest.mark.asyncio
async def test_all_tables_created(setup_db):
expected_tables = {
"tenants",
"tenant_configs",
"digital_employees",
"conversations",
"messages",
"knowledge_bases",
"documents",
}
async with test_engine.begin() as conn:
tables = await conn.run_sync(lambda sync_conn: inspect(sync_conn).get_table_names())
assert set(tables) == expected_tables