fix: align all 212 tests with current API and add CI workflows
Some checks failed
Test / test (push) Failing after 1m4s

Update integration tests to match actual endpoint responses: remove
data wrappers, use snake_case fields, correct HTTP methods (PUT→POST
for directory create), status codes (200→204 for mutations), and
request formats (params→json for 2FA). Fix root-level and unit tests
for DatabaseManager migration, model CRUD patterns, and JWT setup.
Add GitHub Actions and Gitea CI configs with ubuntu-latest + Python 3.13.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 14:21:40 +08:00
parent 800c85bf8d
commit 69f852a4ce
20 changed files with 480 additions and 586 deletions

View File

@@ -23,16 +23,20 @@ from sqlalchemy.orm import sessionmaker
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from main import app
from sqlmodels.database import get_session
from sqlmodels.database_connection import DatabaseManager
from sqlmodels.auth_identity import AuthIdentity, AuthProviderType
from sqlmodels.group import Group, GroupClaims, GroupOptions
from sqlmodels.migration import migration
from sqlmodels.object import Object, ObjectType
from sqlmodels.policy import Policy, PolicyType
from sqlmodels.user import User, UserStatus
import utils.JWT as JWT
from utils.JWT import create_access_token
from utils.password.pwd import Password
# 设置测试用 JWT 密钥
JWT.SECRET_KEY = "test_secret_key_for_jwt_token_generation"
# ==================== 事件循环 ====================
@@ -146,7 +150,7 @@ def override_get_session(db_session: AsyncSession):
async def _override():
yield db_session
app.dependency_overrides[get_session] = _override
app.dependency_overrides[DatabaseManager.get_session] = _override
# ==================== 测试用户 ====================