mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
feat: Provider 异步删除、可配置密码策略、Hub 超时优化及多项改进
- 新增 Provider 异步删除任务系统,后台分阶段删除子资源并清理残留引用 - 新增可配置密码策略等级(weak/medium/strong),支持系统设置面板调整 - aether-hub 升级至 0.1.4,idle timeout 支持禁用(设为 0),worker 默认超时调整为 120s - OAuth 手动续期增加 Redis 分布式锁,防止并发刷新冲突 - ProxyNode 心跳检测改为 asyncio.to_thread,避免阻塞事件循环 - 删除 ModelMultiSelect 和 useInvalidModels,MultiSelect 组件通用化 - 明确 allowed_providers/allowed_api_formats 的 NULL 与空数组语义 - 前端 StandaloneKeyFormDialog、UserFormDialog 等多处 UI 优化 - 新增 Alembic 迁移脚本清理 Provider 删除后的残留引用 - 补充相关测试用例
This commit is contained in:
@@ -140,8 +140,14 @@ def test_sync_delete_reports_progress_after_each_batch(
|
||||
|
||||
session = _FakeSession()
|
||||
progress_updates: list[int] = []
|
||||
cleanup_batches: list[list[str]] = []
|
||||
|
||||
monkeypatch.setattr(taskmod, "_CLEANUP_BATCH_SIZE", 2)
|
||||
monkeypatch.setattr(
|
||||
taskmod,
|
||||
"cleanup_key_references",
|
||||
lambda _db, batch: cleanup_batches.append(list(batch)),
|
||||
)
|
||||
monkeypatch.setattr("src.database.create_session", lambda: session)
|
||||
monkeypatch.setattr(
|
||||
"src.models.database.ProviderAPIKey",
|
||||
@@ -157,5 +163,6 @@ def test_sync_delete_reports_progress_after_each_batch(
|
||||
|
||||
assert affected == 3
|
||||
assert progress_updates == [2, 3]
|
||||
assert cleanup_batches == [["key-1", "key-2"], ["key-3"]]
|
||||
assert session.commits == 2
|
||||
assert session.closed is True
|
||||
|
||||
Reference in New Issue
Block a user